ELK+Filebeat (1)
1 Filebeat介绍
- Filebeat是Beat成员之一,基于Go语言,无任何依赖,并且比logstash更加轻量,非常适合安装在生产机器上,不会带来过高的资源占用,轻量意味着简单,所以Filebeat并没有集成和logstash一样的正则处理功能,而是将收集的日志原样上报。
- Filebeat示例配置文件:
filebeat.prospectors: # 采集系统日志 - input_type: log paths: /var/log/messages paths: /var/log/cron document_type: "messages" # 指定 注册表文件,用于记录上次读取的位置,默认位于filebeat下的data目录 registry_file: /data/filebeat/data/registry
环境准备:
192.168.1.197 logstash+kibana 192.168.1.202 elasticsearch 192.168.4.121 filebeat(收集服务日志)
2 logstash配置文件
[root@Kibana conf.d]# pwd /usr/local/logstash/conf.d [root@Kibana conf.d]# cat beats.conf input { beats { port => 5044 } } output { elasticsearch { hosts => ["192.168.1.202:9200"] index => "microservice-log-%{+YYYY.MM.dd}" } } #启动logstash [root@Kibana conf.d]# nohup /usr/local/logstash/bin/logstash -f /usr/local/logstash/conf.d/beats.conf & #logstash收集日志的端口,防火墙需要开放 [root@Kibana conf.d]# ss -lntup|grep 5044 tcp LISTEN 0 128 :::5044 :::* users:(("java",pid=22292,fd=112))
3 搭建Filebeat
[root@mos-node1 filebeat]# cd /usr/local/src/ [root@mos-node1 src]# ll total 11388 -rw-r--r--. 1 root root 11661263 Sep 26 09:54 filebeat-6.0.0-linux-x86_64.tar.gz [root@mos-node1 src]# tar xf filebeat-6.0.0-linux-x86_64.tar.gz [root@mos-node1 src]# mv filebeat-6.0.0-linux-x86_64 ../filebeat [root@mos-node1 filebeat]# cd /usr/local/filebeat/ [root@mos-node1 filebeat]# cat filebeat.yml filebeat.prospectors: - input_type: log paths: - /var/log/uusafe/*/*/server.log exclude_lines: ["^DBG","^$"] document_type: "messages" output.logstash: hosts: ["192.168.1.197:5044"] enabled: true worker: 1 compression_level: 3 loadbalance: true [root@mos-node1 filebeat]# nohup /usr/local/filebeat/filebeat &
- 访问测试进去了没有:
- 启动kibana访问测试:http://192.168.1.197:5601