2013年5月15日水曜日

squidで複数のログファイルに出力してみた!




社内SEでバリバリの @snicker_jp です。

きっかけ


Splunkで取り込んでいるProxyのデータをもうちょっと調整出来ないかなぁ?と思い調べてみました。


Useragent取れないかなぁ~?


と。

すると、以下のページでいくつか紹介されていました


combinedにしたら、良さそうだ!

    logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh

また、デフォルトだと「squidとcommon」にしか対応していないようです。


う~ん、でもSplunkで情報ちゃんと取れるかわからないしな~
複数ファイルに別フォーマットで吐けないかな~?

と、いうことでやってみました。



手順


設定ファイルに、複数書くだけです。

  • squid.conf に追加

# combined test
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
access_log /var/log/squid/access_combined.log combined

これで、

  squid -k check
  # 問題なければ
  squid -k reconfigure

で、反映されます。

-rw-r--r-- 1 squid squid 179285217  5月 14 20:12 /var/log/squid/access.log
-rw-r----- 1 squid squid 165935576  5月 14 18:49 /var/log/squid/access_combined.log

こんな感じに作成されます。

まとめ


  • 意外とこの内容の記事が見当たらなかった

  • 複数ログを吐く必要はないかもしれませんが、本番環境に影響を与えたくないときに役立ちました

  • Squidも難しいですね!ヽ(`▽´)/

Zenback