天天看點

logstash過濾nginx日志logstash,elasticsearch,kibana三件套elk+redis 搭建nginx日志分析平台

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

下面我們結合3者來做一個例子。我們通過Logstash收集Nginx的日志,并存儲到Elasticsearch,最後用Kibana顯示出來。

首先我們配置Logstash,讓它能收集Nginx的日志,并輸出到Elasticsearch。假設我們的Nginx的access_log的格式為:

<code>log_format  main  '$remote_addr - $remote_user [$time_local] '</code>

<code>                           </code><code>'"$request" $status $body_bytes_sent '</code>

<code>                           </code><code>'"$http_referer" "$http_user_agent" ';</code>

我們在Logstash的安裝目錄下建立配置檔案<code>logstash.conf</code>,并輸入以下内容:

<code>input {</code>

<code>    </code><code>file {</code>

<code>        </code><code>type =&gt; "nginx-access"</code>

<code>        </code><code>path =&gt; "/path/to/nginx/access.log"</code>

<code>    </code><code>}</code>

<code>}</code>

<code>filter {</code>

<code>    </code><code>grok {</code>

<code>        </code><code>match =&gt; {"message" =&gt; "%{IPORHOST:source_ip} - %{USERNAME:remote_user} \[%{HTTPDATE:timestamp}\] %{QS:request} %{INT:status} %{INT:body_bytes_sent} %{QS:http_referer} %{QS:http_user_agent}"}</code>

<code>output {</code>

<code>    </code><code>elasticsearch { host =&gt; localhost }</code>

我們可以看到<code>input</code>設為file,<code>output</code>設為elasticsearch,然後我們還用到了<code>filter</code>,它的作用是用來對輸入的日志進行過濾處理。

然後我們通過這個配置檔案來啟動Logstash:

我們可以看到已經一些圖表和日志事件顯示在Web界面上。

通過對Kibana的定制和Elasticsearcht強大的檢索功能,我們可以做出适合于我們系統的日志管理。上面隻是作一個簡單的了解。希望有時間作更深入的研究

本文轉自 liqius 51CTO部落格,原文連結:http://blog.51cto.com/szgb17/1670267,如需轉載請自行聯系原作者

下一篇: curl

繼續閱讀