转载 http://www.icyfire.me/2014/11/13/logstash-es-kibana.html

安装参考

http://www.cnblogs.com/yjf512/p/4194012.html

logstash,elasticsearch,kibana三件套

elk+redis 搭建nginx日志分析平台

Elasticsearch + Logstash + Kibana

下面我们结合3者来做一个例子。我们通过Logstash收集Nginx的日志,并存储到Elasticsearch,最后用Kibana显示出来。

首先我们配置Logstash,让它能收集Nginx的日志,并输出到Elasticsearch。假设我们的Nginx的access_log的格式为:

log_format  main  '$remote_addr - $remote_user [$time_local] '
                            '"$request" $status $body_bytes_sent '
                            '"$http_referer" "$http_user_agent" ';

我们在Logstash的安装目录下创建配置文件logstash.conf,并输入以下内容:

input {
     file {
         type => "nginx-access"
         path => "/path/to/nginx/access.log"
     }
}
 
filter {
     grok {
         type => "nginx-access"
         match => {"message" => "%{IPORHOST:source_ip} - %{USERNAME:remote_user} \[%{HTTPDATE:timestamp}\] %{QS:request} %{INT:status} %{INT:body_bytes_sent} %{QS:http_referer} %{QS:http_user_agent}"}
     }
}
 
output {
     elasticsearch { host => localhost }
}

我们可以看到input设为file,output设为elasticsearch,然后我们还用到了filter,它的作用是用来对输入的日志进行过滤处理。

然后我们通过这个配置文件来启动Logstash:

我们可以看到已经一些图表和日志事件显示在Web界面上。

后话

通过对Kibana的定制和Elasticsearcht强大的检索功能,我们可以做出适合于我们系统的日志管理。上面只是作一个简单的了解。希望有时间作更深入的研究