ELK7.x日志系统搭建 3. 采用轻量级日志收集Filebeat
当我们在对系统日志进行处理的时候,我们需要结合成本考虑方案,前期如果使用 Logstash
进行日志收集的话会耗费较多的机器性能,我们这里选择优化一下日志的采集。简单介绍一下即将出场的家伙: filebeat
首先 filebeat
是 Beats
中的一员。 Beats
在是一个轻量级日志采集器,其实 Beats
家族有6个成员,早期的 ELK
架构中使用 Logstash
收集、解析日志,但是 Logstash
对 内存
、 cpu
、 io
等资源消耗比较高。相比 Logstash
, Beats
所占系统的 CPU
和内存几乎可以忽略不计。
Beats
有目前七个工具:
Functionbeat 能收集、传送并监测来云服务的相关数据
Packetbeat 网络数据(收集网络流量数据)
Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)
Filebeat:日志文件(收集文件数据)
Winlogbeat:windows事件日志(收集Windows事件日志数据)
Auditbeat:审计数据(收集审计日志)
Heartbeat:运行时间监控(收集系统运行时的数据)
安装filebeat
wget https://mirrors.huaweicloud.com/filebeat/7.6.0/filebeat-7.6.0-linux-x86_64.tar.gz tar -zxvf filebeat-7.6.0-linux-x86_64.tar.gz
Filebeat输出到文件
- filebeat.yml
filebeat.inputs: # 指定文件的输入类型log - type: log enabled: true # 指定要监控的日志,可以指定具体得文件或者目录 paths: - /var/log/test-filebeat.log # 输出方式 可以以文件输出 output.file: path: "/tmp" filename: "filebeat.txt"
- 测试
echo test >> /var/log/test-filebeat.log
查看到输出文件已经有变化了
输出到logstash
- filebeat.yml
output.logstash: hosts: ["192.168.179.124:5044"]
- logstash配置
input { beats { port => 5044 } } output { elasticsearch { hosts => ["192.168.179.124:9200"] #elasticsearch服务器地址 user => "elastic" password => "${ES_PWD}" index => "logstash-filebeat-%{+YYYY.MM.dd}" #索引名称 } }
- 测试数据
echo hello >> /var/log/test-filebeat.log
- 查看索引模式
输出到Redis
- filebeat.yml
output.redis: hosts: ["192.168.179.124:6379"] key: "test-filebeat" db: 0 timeout: 5
- 查看连接
redis
日志
- 查看效果
logstash从redis中读取数据
logstash-filebeat.conf
配置logstash
input { redis { data_type => "list" host => "192.168.179.124" port => "6379" db => 0 # 指定库 key => "test-filebeat" # 配置redis 键 } } output { elasticsearch { hosts => ["192.168.179.124:9200"] #elasticsearch服务器地址 user => "elastic" password => "${ES_PWD}" index => "logstash-test-%{+YYYY.MM.dd}" #索引名称 } }
- 启动
logstash
./bin/logstash -f ./conf.d/logstash-filebeat.conf
- 测试数据
echo test >> /var/log/test-filebeat.log
logstash
会一直从 redis
中获取数据,获取完成会删除掉 redis
的键,我们创建 kibana
的索引模式来查看一下收取的数据
经过这篇文章的理解,我们应该更好的理解 Logstash
, 他可以输出地方很多,可以直接输出到 队列
、ES
、文件
等等,非常轻量和灵活