ELKF日志学习(八)Filebeat写入Elasticsearch
前言
上节将日志存储为 json 格式了,并通过 FileBeat 解析了 json 格式。
那我们可以直接将 json 日志写入 Elasticsearch 中了。
代码仓库
写入 Elasticsearch
官方文档:传送门
直接写入
为了方便,这里设置了 Elasticsearch 是免密的。
output.elasticsearch:
  hosts: ["elasticsearch:9200"]默认的 index 是 filebeat-* 格式的。
我们可以自定义 index。
output.elasticsearch:
  hosts: ["elasticsearch:9200"]
  index: "diy_prefix-%{[agent.version]}-%{+yyyy.MM.dd}"根据 input 指定不同的 index
如果我们想要根据不同的 input 来分别建立不同的 index,可以根据自定义标签来判断。
还记得之前定义的 fileds.source 么?
output.elasticsearch:
  hosts: ["elasticsearch:9200"]
  indices:
    - index: "nginx_access_log-%{+yyyy.MM.dd}"
      when:
        contains:
          fields.source: "nginx_access_log"
    - index: "nginx_error_log-%{+yyyy.MM.dd}"
      when:
        contains:
          fields.source: "nginx_error_log"其它(来自官网)
账号密码鉴权
output.elasticsearch:
  hosts: ["elasticsearch:9200"]
  username: "YOUR_USERNAME"
  password: "YOUR_PASSWORD"API key鉴权
output.elasticsearch:
  hosts: ["elasticsearch:9200"]
  api_key: "YOUR_API_KEY"证书鉴权
output.elasticsearch:
  hosts: ["elasticsearch:9200"]
  ssl.certificate: "/etc/pki/client/cert.pem"
  ssl.key: "/etc/pki/client/cert.key"最后
不建议 Filebeat 监控太多的文件,还是一个服务一个 FileBeat 最好。
FileBeat 是很轻量,如果做了太多的事情,它也是会拖后腿的。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!