ELK(Elasticsearch+Logstash+Kibana)分布式日志分析平台(二) logstash配置

1.logstash agent端— 收集日志

input {
   file {
     type => "ugo_nginx_access"   ##日志文件类型,自定义。好区分,类似于分组这种概念
     path => "/export1/log/access_20150407+00.log"  ##日志文件路径。
   }
   file {
     type => "nginx_access"
     path => "/usr/local/nginx/logs/python-access.log"
   }
}
output {
  #将收集到的日志存储到了redis中。
  redis {
    host => "103.41.54.16"    
    port => 6379
    data_type => "list"
    key => "logstash"
  }
}

启动 /usr/local/logstash/bin/logstash agent -f /usr/local/logstash/conf/agent.conf

2.logstash server端— 将日志从redis中。读取出来,然后进行正则匹配,分析,发送到elasticsearch
因为要用到logstash的grep所以需要用到一个插件

plugin install contrib
##将日志从redis中读取出来
input {
  redis {
    host => "127.0.0.1"
    port => "6379"
    data_type => "list"
    key => "logstash"
    type => "redis-input"
  }
}
filter {
  ##因为有多种日志,所以用if判断性能会好一些
  if [type] == '99ya_nginx_access' {
    grok {
      ##将nginx的日志通过正则匹配出来。其实如果想偷懒grok已经提供了很多的现成变量使用。可以直接套用的。
      pattern => "%{IPORHOST:source_ip} - %{USERNAME:remote_user} \[(?\d{2}/(.*)/\d{4}):(?

启动 /usr/local/logstash/bin/logstash agent -f /usr/local/logstash/conf/server.conf

如果用的Kibana 是logstash 还需要启动一个logstash 的web服务

/usr/local/logstash/bin/logstash web
未经允许不得转载:99ya » ELK(Elasticsearch+Logstash+Kibana)分布式日志分析平台(二) logstash配置

抢沙发