filebeat安装

自古美人都是妖i 提交于 2019-12-29 21:56:14

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

安装
sudo yum install filebeat

启动服务
sudo chkconfig --add filebeat
systemctl start filebeat
systemctl status filebeat

收集日志
先以收集docker日志为例,简单来介绍一下filebeat的配置文件该如何编写。具体内容如下:

[root@localhost ~]# grep "^\s*[^# \t].*$" /etc/filebeat/filebeat.yml 

filebeat:
  prospectors:
    - input_type: log
      paths:
        - /data/logs/nginx/*.log
      input_type: log
      document_type: nginx
      close_inactive: 1m
      scan_frequency: 5s
      fields:
        nginx_id: web-nodejs
      fields_under_root: true
      close_removed: true
      tail_files: true
      tags: 'web-nginx'
  spool_size: 1024
  idle_timeout: 5s
  registry_file: /var/lib/filebeat/registry
output:
  logstash:
    enabled: true
    hosts: ["192.168.6.108:5044"]
    worker: 4
    bulk_max_size: 1024
    compression_level: 6
    loadbalance: false
    index: filebeat
    backoff.max: 120s
和看的一样,其实并没有太多的内容。采集/var/lib/docker/containers//.log,即filebeat所在节点的所有容器的日志。输出的位置是ElasticSearch的服务地址,这里直接将log输送给ES,而不通过Logstash中转。

再启动之前,还需要向ES提交一个filebeat index template,以便让elasticsearch知道filebeat输出的日志数据都包含哪些属性和字段。filebeat.template.json这个文件安装完之后就有,无需自己编写,找不到的可以通过find查找。加载模板到elasticsearch中:

[root@localhost ~]# curl -XPUT 'http://192.168.58.128:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
{
  "acknowledged" : true
}
重启服务
systemctl restart filebeat
提示:如果启动的是一个filebeat容器,需要将/var/lib/docker/containers目录挂载到该容器中;

Kibana配置

如果上面配置都没有问题,就可以访问Kibana,不过这里需要添加一个新的index pattern。按照manual中的要求,对于filebeat输送的日志,index name or pattern应该填写为:"filebeat-*"。
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!