ELK-filebeat7.12.0收集系统日志

Filebeat

filebeat与logstash作用是一样的
E/L/K都是java程序写的
filebeat是golang语言写的,比较轻量

Filebeat模块很好的入门,它是轻量级单用途的日志收集工具,用于在没有安装java的服务器上专门收集日志,可以将日志转发到logstash、elasticsearch或redis等场景中进行下一步处理。

 

图解:

ELK-filebeat7.12.0收集系统日志

 

 

 

需要依赖包:

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 展示 

ELK-filebeat7.12.0收集系统日志

 

ELK-filebeat7.12.0收集系统日志

 

ELK-filebeat7.12.0收集系统日志

 

ELK-filebeat7.12.0收集系统日志

上一篇:逻辑回归输出的值是真实的概率吗?


下一篇:postgresql学习记录1