- 次の行を /etc/rc.local に追加します。
varnishncsa -a -w /var/log/varnish/access.log -D -P /var/run/varnishncsa.pid
- logrotate を設定するために、次の行を次に追加します。
/etc/logrotate.d/varnish
(存在しない場合は次のように作成します)/var/log/varnish/*log { create 640 http log compress postrotate /bin/kill -USR1 `cat /var/run/varnishncsa.pid 2>/dev/null` 2> /dev/null || true endscript }
- 上で定義したパスに対する Collector にローカル ファイル Source を追加します。
サンプル ログ
101.92.120.16 - - [2017-07-13 21:10:59.586 +0000] "GET /_includes/wp/blog/wp-content/plugins/us/31063765-bpfull.phpi?&w=50&id=6&random=1331063765 HTTP/1.1" 304 5201 "http://search.yahoo.com/mobile/s?rew...0logs&pintl=en" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:23.0) Gecko/20131011 Firefox/23.0"
FER (Field Extraction Rules)
parse regex "^(?<src_ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})"
| parse regex "(?<method>[A-Z]+)\s(?<url>\S+)\sHTTP/[\d\.]+\"\s(?<status_code>\d+)\s(?<size>[\d-]+)\s\"(?<referrer>.*?)\"\s\"(?<user_agent>.+?)\".*"
結果フィールド:
フィールド | 説明 | 例 |
src_ip | リクエストを生成したクライアント (リモート ホスト) の IP アドレス | 101.92.120.16 |
method | クライアントが使用したメソッド | GET |
url | クライアントがリクエストしたリソース | /_includes/wp/blog/wp-content/plugins/us/31063765-bpfull.phpi?&w=50&id=6&random=1331063765 |
status_code | サーバがクライアントに送り返したステータス コード | 304 |
size | クライアントに返されたオブジェクトのサイズ | 5201 |
referrer | クライアント レポートが参照された元のサイト | http://search.yahoo.com/mobile/s?rew...0logs&pintl=en |
user_agent | クライアント ブラウザが自身についてレポートした身元情報 | Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:23.0) Gecko/20131011 Firefox/23.0 |