日志收集系列:ELFK整体流程(六)
6. ELFK整体流程
6.1 ElasticSearch配置
准备好集群即可,详细步骤看前面。
6.2 Logstash配置
Beats 输入插件用于接收来自 Beats 客户端发送的数据。Beats 是一组轻量级的数据传输工具,用于将日志和指标数据从不同的来源(如文件、系统日志、应用程序等)发送到 Logstash 或 Elasticsearch 进行处理和存储。
通过配置 port 参数为 4401,Logstash 将监听该端口,接收通过 Beats 协议发送的数据,并将其传递给后续的过滤器和输出插件进行处理。
elasticsearch输出插件将数据输出到 Elasticsearch 集群,并使用动态的索引名称。
# cat /etc/logstash/conf.d/nginx-logstash.conf
input {
beats {
port => 4401
}
}
filter {
grok {
patterns_dir => ["/etc/logstash/grok/patterns/"]
match => {
message => "%{CLIENT_IP:client_ip}.*?%{RQ:request}.*?%{STATUS:status}"
}
}
}
output {
elasticsearch {
hosts => ["es01.yinjay.com:9200","es02.yinjay.com:9200","es03.yinjay.com:9200"]
index => "nginx-%{+YYYY.MM.dd}"
}
}
重启Logstash
systemctl restart logstash.service
6.3 Filebeat配置
web主机上配置Filebeat,输出部分来定义 Logstash 实例的主机和端口,将数据传输到Logstash上。
# cat /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/access.log
- type: log
enabled: true
paths:
- /var/log/nginx/error.log
output.logstash:
hosts:
- "10.0.0.90:4401"
worker: 1
重启Filebeat
systemctl restart filebeat.service
6.4 Kibana配置
创建索引模式
Kibana查看由Logstash匹配到的数据。
数据流:Filebeat进行收集日志 -> Logstash可以进行过滤转换等操作 -> 数据传给ES集群 -> Kibana进行展示
作者:YinJay
Email:szgetshell@163.com