美文网首页
有关elasticsearch的一些操作和问题

有关elasticsearch的一些操作和问题

作者: 野草_疯长 | 来源:发表于2019-04-11 15:51 被阅读0次

           对于现在很多的生产环境来说,都会舍弃logstash来使用filebeat,但是日志在kibana显示的时候,格式效果不是很好,这就需要用到es中的ingest node -->官方文档   

      总的来说,它就是用来代替logstash对日志解析的,能在es进行索引之前,对日志进行一个解析。

    话不多说,直接上代码:

    这一段代码是在es中添加一个管道,用于筛选出filebeat输出的日志。


    curl -X PUT "localhost:9200/_ingest/pipeline/filebeat-log" -H 'Content-Type: application/json' -d'

    {

      "description" : "describe pipeline",

      "processors" : [

        {

          "grok" : {

            "field": "message",

            "patterns":  ["\\[%{TIMESTAMP_ISO8601:log_time}\\] %{NOTSPACE:thread} %{NOTSPACE:log_level} %{NOTSPACE:java_class} - %{GREEDYDATA:content}"]

          }

        },

        {

        "date": {                  #这一部分是为了使日志时间和本地时间对应的设置。

        "field": "log_time",

        "formats": ["yyyy-MM-dd HH:mm:ss:SSS"],

        "timezone": "Asia/Shanghai",

        "target_field": "@timestamp"

        }

        }

      ]

    }

    '


    然后在 filebeat.yml 配置文件添加如下内容,为你的管道命名。

    这样就完成了所有的工作。这时启动filebeat, 如果如出以下错误信息

     ERROR pipeline/output.go:92 Failed to publish events: temporary bulk send failure 1 大概率是因为你发送的日志格式无法与grok表达式匹配,修改processor定义json

    cat  /etc/nginx/nginx.conf

    把原来的format注释掉 换上json格式的访问日志输出   nginx -s reload

    相关文章

      网友评论

          本文标题:有关elasticsearch的一些操作和问题

          本文链接:https://www.haomeiwen.com/subject/qmsnvqtx.html