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 

  标准输出如下

 

posted @ 2018-06-15 17:13  minseo  阅读(883)  评论(0编辑  收藏  举报