Elasticsearch+Logstash+Kibana配置

来源:互联网 发布:部落冲突九本满防数据 编辑:程序博客网 时间:2024/04/30 13:43

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 => 9200cluster => "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
  6. 如何配置kibana 4到apache上?
    要用到proxy mod,具体看这里.

最后贴一张最终效果图互勉,弄了三天:
Logstash Dashboard 2015-08

0 0