Filebeat
filebeat与logstash作用是一样的
E/L/K都是java程序写的
filebeat是golang语言写的,比较轻量
Filebeat模块很好的入门,它是轻量级单用途的日志收集工具,用于在没有安装java的服务器上专门收集日志,可以将日志转发到logstash、elasticsearch或redis等场景中进行下一步处理。
图解:
需要依赖包:
filebeat-7.12.0-x86_64.rpm
安装
[root@localhost ~]# rpm -ivh filebeat-7.12.0-x86_64.rpm
[root@localhost ~]# cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak
修改配置参数,对接到logstash:5044
注意:service是用来区分标识多日志到Logstash
[root@localhost ~]# grep -v "#" /etc/filebeat/filebeat.yml |grep -v "^$"
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/messages
fields:
service: 18_160_system_log
output.logstash:
hosts: ["10.197.10.198:5044"]
enabled: true
[root@localhost ~]# systemctl restart filebeat
[root@localhost ~]# systemctl enable filebeat
或者
[root@localhost ~]# /usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml -d "publish" &
# 注意使用root用户登录, 准确的说是注意用户对文件所拥有的权限
# -e 让日志打印到控制台, -c 重新指定启动的配置文件, -d 指定调试选择者器
./filebeat -e -c filebeat.yml -d "publish"
修改logstash下的配置文件:
[root@localhost ~]# more /etc/logstash/conf.d/beat.conf
input {
beats {
port => 5044
}
file {
path => "/var/log/messages" #日志路径
type => "10_198_system_log" #事件的唯一类型
start_position => "beginning" #第一次收集日志的位置
stat_interval => "3" #日志收集的间隔时间
}
}
#filter {
# #只对nginx的json日志做json解析,系统message为其他格式,无需处理
# if [filetype] == "log_nginxjson"{
# json {
# source => "message"
# remove_field => ["beat","offset","tags","prospector"] #移除字段,不需要采集
# }
# date {
# match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"] #匹配timestamp字段
# target => "@timestamp" #将匹配到的数据写到@timestamp字段中
# }
# }
#}
#选择了两个客户端的系统日志做测试,其中一个是直接通过本地的logstash进行收集,另一个是通过filebeat->logstash -> ES中。
#这个[fields][service] 就是用来区分不同的业务日志
output {
if [fields][service] == "18_160_system_log"{
elasticsearch {
hosts => ["10.197.10.198:9200"]
index => "18-160-msg-%{+YYYY.MM.dd}"
}
}
if [type] == "10_198_system_log"{
elasticsearch {
hosts => ["10.197.10.198:9200"]
index => "10-198-msg-%{+YYYY.MM.dd}"
}
}
}
在通过命令启动
[root@localhost ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/beat.conf --config.reload.automatic &
# -f 从指定路径获取logstash启动的yml配置文件
# --config.reload.automatic 监听配置文件 如果有改动自动加载
这时候就可以在kibana-Index Management看到相关日志信息,并通过 index Patterns 展示