码迷,mamicode.com
首页 > 其他好文 > 详细

Elasticsearch+Logstash+Kibana配置

时间:2015-08-03 14:41:02      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:elasticsearch   aws-ec2   logstash   kibana   

Elasticsearch+Logstash+Kibana配置

关于Elasticsearch+Logstash+Kibana的安装有很多文章,这里不复述了,这里仅记录一些比较细节的内容。

  1. AWS EC2中安装需要的注意事项

    • 9200,9300,5601端口要记得打开
    • elasticsearch的地址不要写外部IP,否则会很浪费data,写内部ip
      elasticsearch {
      host => "ip-10-160-94-102.ap-northeast-1.compute.internal"
      port => 9200
      cluster => "elasticsearch"
      protocol => http
      }
  2. grok有哪些pattern?

    这里有全部的列表;

    值得一提的是,QUOTEDSTRING和GREEDYDATA都是文字内容比较多的时候比较好用的pattern;

    Grok debugger是一个巨好用的工具;

  3. 如何丢失掉不需要的日志?

    网上有说用grep filter的,但是一方面grep不是官方插件(而是logstash-contrib里面的),另外新版好像也没有了。于是我最终还是只用了if语句和grok。

    基本逻辑就是

    • 每个match都给加一个tag
    • 结束前判断是不是有有用的tag存在

    if !(“tagA” in [tags] or “tagB” in [tags]) {
    drop { }
    }

  4. 为什么索引的值不能做sum/average,为什么我的字段不是Number类型而是String?

    grok的文档是很有误导性的,%{NUMBER:myfield}的意思仅仅是使用数字的正则表达式去匹配,而匹配的结果grok都默认以string的类型去索引。

    如果想要指定索引的类型,需要写成%{NUMBER:myfield:int},:float也是可以用的。

    如果某个字段的索引已经是string了,要改成int应该是可以用elasticsearch的Mapping API的,但是我没有成功。我最后成功是把之前的索引都删掉重做了。

    $ curl -XDELETE ‘http://localhost:9200/twitter/

  5. 怎么制作visualization?

    好多东西我也没理解,有精力的可以看大神写的文档,简单说些基本原理和小技巧吧:

    • ”split”相当于group by
    • “search”的创建在”discover”里
    • terms选择后,size写0意思就是没有limit
    • terms选择后,可以用include或exclude限定这个字段,相当于where

最后贴一张最终效果图互勉,弄了三天:
技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

Elasticsearch+Logstash+Kibana配置

标签:elasticsearch   aws-ec2   logstash   kibana   

原文地址:http://blog.csdn.net/cloudcraft/article/details/47254131

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!