squid のトラフィックを MRTG でグラフ化

2004-7-6 19:19
このエントリーをはてなブックマークに追加

プロキシサーバ squid の使用状況を MRTG を利用してグラフ化し、ブラウザで表示できるようにします。これには squid の SNMP 設定がされている必要があります。

以下は Red Hat Linux 9 での設定をまとめたものですので、ディストリビューションによって若干異なる部分がありますが、適宜読み替えてください。

mrtg のインストール

mrtg パッケージがインストールされていない場合は Red Hat の CD か、FTP などから入手してインストールします。

  # rpm -ivh mrtg-2.9.17-13.i386.rpm

mrtg の設定

mrtg の設定は /etc/mrtg/mrtg.cfg ファイルに記述します。

WorkDir: /var/www/html/mrtg
LoadMIBs: /etc/squid/mib.txt

TimeZone[_]: Japan
kilo[_]:1024

Target[proxy-hit]: cacheHttpHits&cacheProtoClientHttpRequests:public@localhost:3401
MaxBytes[proxy-hit]: 50000
Title[proxy-hit]: HTTP Hits
PageTop[proxy-hit]: <H1>Statistics: HTTP Hits / Requests</H1>
Suppress[proxy-hit]: y
LegendI[proxy-hit]:  HTTP hits
LegendO[proxy-hit]:  HTTP requests
Legend1[proxy-hit]:  HTTP hits
Legend2[proxy-hit]:  HTTP requests
YLegend[proxy-hit]: perminute
ShortLegend[proxy-hit]: req/min
Options[proxy-hit]: nopercent, perminute, dorelpercent, growright

public の部分は、squid.conf での設定に従って変えてください。デフォルトは public ですが、第三者に勝手に利用されるのを防ぐためにも変えた方がよいでしょう。この状態で mrtg コマンドを実行して、エラーがでないことを確認します。

  # mrtg /etc/mrtg/mrtg.cfg

エラーがでた場合は、mrtg.cfg や squid.conf の設定ミスや、ファイアウォールで SNMP のポートが塞がれている可能性があります。squid の SNMP は通常の SNMP と違い、デフォルトではポート 3401 を利用します。

動作確認

mrtg が正常に実行できたら、ブラウザで http://(プロキシサーバ)/mrtg/proxy-hit.html にアクセスしてグラフの表示を確認します。初めのうちは表示すべきデータがありませんが、しばらく使っていると、グラフが表示されます。上記の例ではリクエスト数とキャッシュヒット率がグラフ化されます。

MRTG が生成したグラフのスクリーンショット

mrtg はデーモンではなく、cron で定期的に動作します。インストール時点で /etc/cron.d/mrtg に設定されますので特に何もする必要はありません。5 分間隔で mrtg が実行されグラフが書き換わります。

mrtg.cfg の設定次第では、キャッシュの容量や、トラフィックの I/O などをグラフ化することもできます(ここでは割愛します)。

2件のコメント

  1. mrtgの設定中、Targetの”T”が抜けてますよ。

    Comment by mu2004-10-5 17:54

  2. ご指摘ありがとうございます。修正しました。

    Comment by fumika — 2004-10-5 18:55

現在、コメントフォームは閉鎖中です。

67 queries. HTML convert time: 1.135 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン