天天看點

filebeat 擷取nginx日志 發送給ElasticSearch

目的:通過filebeat擷取nginx日志,發送給ElasticSearch,filebeat可以解析json格式日志,是以設定nginx日志為json格式。

1、配置nginx配置檔案

<code>    </code><code>log_format jsonTest </code><code>'{"@timestamp":"$time_iso8601",'</code>

<code>                  </code><code>'"host":"$server_addr",'</code>

<code>                  </code><code>'"service":"nginxTest",'</code>

<code>                  </code><code>'"trace":"$upstream_http_ctx_transaction_id",'</code>

<code>                  </code><code>'"log":"log",'</code>

<code>                  </code><code>'"clientip":"$remote_addr",'</code>

<code>                  </code><code>'"remote_user":"$remote_user",'</code>

<code>                  </code><code>'"request":"$request",'</code>

<code>                  </code><code>'"http_user_agent":"$http_user_agent",'</code>

<code>                  </code><code>'"size":$body_bytes_sent,'</code>

<code>                  </code><code>'"responsetime":$request_time,'</code>

<code>                  </code><code>'"upstreamtime":"$upstream_response_time",'</code>

<code>                  </code><code>'"upstreamhost":"$upstream_addr",'</code>

<code>                  </code><code>'"http_host":"$host",'</code>

<code>                  </code><code>'"url":"$uri",'</code>

<code>                  </code><code>'"domain":"$host",'</code>

<code>                  </code><code>'"xff":"$http_x_forwarded_for",'</code>

<code>                  </code><code>'"referer":"$http_referer",'</code>

<code>                  </code><code>'"status":"$status"}'</code><code>;</code>

<code>     </code><code>access_log /</code><code>var</code><code>/log/nginx/access.log jsonTest;</code>

定義jsonTest的json格式,其中trace是頁面response headers的值 ctx-transaction-id,通過upstream_http_ctx_transaction_id可以擷取頭檔案屬性。

将日志輸出到/var/log/nginx/access.log

2、配置filebeat配置檔案

<code>filebeat.prospectors:</code>

<code>- type: log</code>

<code>  </code><code>paths:</code>

<code>   </code><code>- </code><code>'/root/front/logs/*.log'</code>

<code>  </code><code>json.message_key: log</code>

<code>  </code><code>json.keys_under_root: </code><code>true</code>

<code>output.elasticsearch:</code>

<code>  </code><code>hosts: [</code><code>"*.*.*.*:9200"</code><code>]</code>

将日志傳輸給ElasticSearch

本文轉自gaofeng36599 51CTO部落格,原文連結:http://blog.51cto.com/786678398/1980222

繼續閱讀