ELK之filebate收集日志传递至Logstash
软件版本查看(版本最好一致)
安装过程不详叙
本次使用filebeat监控nginx日志(已经配置json输出)收集并且传递给Logstash进行处理
filebeat配置文件/etc/filebeat/filebeat.yml
filebeat.prospectors: - type: log enabled: true paths: - /data/logs/nginx/http-access.log tags: ["nginx_access"] filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 3 setup.kibana: output.logstash: hosts: ["192.168.56.11:5044"]
PS:tags是为了方便发送至Logstash用于过滤
output.logstash配置输出至logstash
修改logstash配置文件/etc/logstash/conf.d/syslog.conf
input{ beats { port => 5044 } } filter{ if "nginx_access" in [tags]{ json { source => "message" } } } output{ if "nginx_access" in [tags]{ stdout{ codec => rubydebug } } }
PS:beats配置logstash启动端口
tags输出是一个列表所以这里需要用if in进行判断处理
如果判断出nginx_access在tags里面则使用源为message过滤成json格式
同理输出也使用了if in进行判断 标准输出
标准输出正常再修改配置文件输出至elasticsearch(配置文件略)
启动/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf
标准输出如下