ZabbixでSquidのFile descriptor諸々監視をする。

Squidが時たま調子が悪くて、一つの要因にFile descriptorに目を付けてるけどこれじゃない感じもある。
cache.logにも決まり文句もないし。

ともあれ虱潰しにしようということで、Zabbixで監視をしてみます。

 

Zabbixの外部スクリプトの場所を確認しよう

“ExternalScripts=/usr/lib/zabbix/externalscripts” ここに外部スクリプトを起きます。

 

squidclientを入れよう

squidclientで情報を取得しに行くのでsquidを入れます。
squidclientだけ入れることはできないんだろうか。

 

外部スクリプト本体

https://gist.github.com/rluisr/76bf3845a5daafdb40c7

このファイルをさっきのディレクトリへ保存し

シェルスクリプトと、Pythonが割りとメジャーらしいけどどっちも分からないのでPHPで書くことにしました。
一度ファイルに保存してるのは行数指定で変数にぶち込みたかったから。

例えば Maximum number of file descriptors の数値が欲しい時は

とすれば、数値(実際には文字列)だけが返ってきます。

とすれば、Number of file desc currently in useが返ってきます。

 

Squidに登録

SnapCrab_NoName_2016-2-4_18-36-26_No-00

アイテムの追加から、こんな感じに設定すれば取得可能。
データ型は”文字列”でないと取得できません。

一つ一つアプリケーションを追加していくのはダルいのでテンプレートを作成しておくといいです。
トリガーとしては、Maximum number of file descriptorsが65535となっており
Number of file desc currently in useが65000を超えるとアクションを起こすように。

自動でSquidを再起動するようにアクションを仕掛けてもいいですね!!!

コメントを残す

メールアドレスが公開されることはありません。