squid - MRTGによるSquidの監視
Squid 2.xはSNMPをサポートしているため、MRTGを使ってとても 簡単に監視することができます。
私は、それを簡単化するためにMRTGをいくらかいじりました。私の作業は matija.grabnar@arnes.siとkostas@nlanr.netによる 以前の修正をベースにしています。
秒毎だけでなく計測可能なパッチ"perminute"や"perhour" ("option"トークン) へコードを追加して正しい単位を表示するようにしました。
そして、新しいトークン "dorelpercent" を作りました。これは、 入力ストリーム/出力ストリームの割合をその場で計算し、 0%から100%の固定化したスケールで表示するというものです。これは期待 通りうまく動きました。もしかすると浮動スケールを好む人がいるかも しれませんが、それを実装するのも大した問題ではないはずです。が、 その時は私の固定スケールというオプションも残しておいてください。 もし入力ストリームが常に出力ストリームよりも少ないなら、両方の線 (出力ストリームとその相対的なパーセント) は常に入力ストリーム群の トップに表示されます。そうじゃなければこのオプションはあまり意味がありません。 このオプションを用いることでヒットレートやエラーレート (ルータの 監視の場合には相対的なドロップレート) を簡単に表示することができるのです。
このオプションを使う場合には、Colours文に5番目の色名/値ペアを書いてください。
このリストでの議論に従い、2つのトークンを実装しました。
``kilo'' と ``kMG'' です。
``kilo''はkの値(1000もしくは1024)で、デフォルトは1000です。
``kMG''は倍数の接頭文字のコンマ区切りリストのことで MRTGの表示での ``'', ``k'', ``M'', ``G'', ``T''の代わり使います。接頭文字が必要ない場合には その場所を空けておいてください。
また、新しいリリースのSquid用のOIDも完全ではありませんが加えました。
どうぞお楽しみください。
以下の設定をすれば返答時間をミリ秒単位で測り、MRTGでうまく表示することができます。
kMG[measure-ms]: m,,k,M,G,T short[measure-ms]: s
次のようにすれば1024*1024 B/sをMB/sとして表示できます。
kilo[volume]: 1024
Squid用の設定例は以下のような感じです。
Target[proxy-hit]: cacheHttpHits&cacheClientHttpRequests:public@proxy Title[proxy-hit]: HTTPヒット数 PageTop[proxy-hit]: <H2>プロクシキャッシュの統計: HTTPヒット数 / リクエスト数</H2> Suppress[proxy-hit]: y LegendI[proxy-hit]: HTTPヒット数 LegendO[proxy-hit]: HTTPリクエスト数 Legend1[proxy-hit]: HTTPヒット数 Legend2[proxy-hit]: HTTPリクエスト数 YLegend[proxy-hit]: 分毎 ShortLegend[proxy-hit]: リクエスト/分 Options[proxy-hit]: nopercent, perminute, dorelpercent
Target[proxy-srvkbinout]: cacheServerInKb&cacheServerOutKb:public@proxy Title[proxy-srvkbinout]: キャッシュサーバトラフィック 入力 / 出力 PageTop[proxy-srvkbinout]: <H2>キャッシュ統計: サーバトラフィック (入/出) </H2> Suppress[proxy-srvkbinout]: y LegendI[proxy-srvkbinout]: 入力トラフィック LegendO[proxy-srvkbinout]: 出力トラフィック Legend1[proxy-srvkbinout]: 入力トラフィック Legend2[proxy-srvkbinout]: 出力トラフィック YLegend[proxy-srvkbinout]: 分毎 ShortLegend[proxy-srvkbinout]: b/min kMG[proxy-srvkbinout]: k,M,G,T kilo[proxy-srvkbinout]: 1024 Options[proxy-srvkbinout]: nopercent, perminute
Andreas Papst <andreas.papst@univie.ac.at>
花井 浩之 <e2j@mrtg.jp>