Zabbix 2.0.1 で icmpping アイテムが動作しないので,Zabbix が配布する -S オプションに対応している fping コマンドを導入する。
ネットワーク機器の監視ツール Zabbix を自宅サーバに導入したが (nlog(n): Zabbix 2.0 のインストール),エージェントがインストールできるサーバは自分自身しかない。他の機器は ping チェックがせいぜいである。ところが,Zabbix は ping チェックに fping コマンドを使うように実装されていて,fping コマンドを別途インストールする必要がでてきた。
動作環境は,Zabbix 2.0.1, Vine Linux 4.2 (Kernel 2.6.16) である。
Zabbix は ICMP ping での監視を fping コマンドで行うように実装されている (3. Installation [Zabbix])。fping コマンドは発信元の IP アドレス (SourceIP) を指定するためのオプション「-S」に対応しているものが推奨されている。もし対応していなければ,Zabbix サーバの設定ファイルで SourceIP を指定しないという回避方法もある (1 Zabbix Server [Zabbix])。少し複雑な環境では,SouceIP が必要になってくる (Zabbixのicmppingアイテム動作不具合 - shibainu55日記)。
まずはエラーの確認から。icmpping アイテムを利用するには,いくつか Zabbix 上で設定を行う必要があるが,それは後述。
エラーは,「Configuration」→「Hosts」画面の中で,ping のテンプレートを適用しているホストの「Items」をクリックし,画面が遷移したら,右端の「Error」欄の「×」にマウスカーソルを乗せると表示される。たどり着くまでに結構道に迷ったりする。
これは「/usr/sbin/fping: [2] No such file or directory」というエラーメッセージで,そもそも fping コマンドがインストールされていないことを意味している。
これは「/usr/sbin/fping: [13] Permission denied」というメッセージで,fping コマンドの権限設定が適切でないことを意味している。
まず fping を起動してみる。
ということで,fping コマンドがないと。そこで,Vine Linux のパッケージからネットワーク経由でインストールする。
ところが,起動しようとすると「Permission denied」と言われる。設定は次のようになっていた。
Zabbix 公式ページにパーミッションの設定例があげられているが (5 Simple checks [Zabbix]),fping のグループを zabbix にするのには抵抗がある場合は,次の設定でもよい。
しかし,この fping は「-S」オプションに対応していない。「fping -h」で確認できる。fping の本家でも採用されていないようだ (Kodai's Blog: Zabbixでfpingを使うときの注意点)。っていうか,Zabbix 独自拡張?
次に試したのが EPEL である。EPEL は Extra Packages for Enterprise Linux の頭文字語で,Fedora プロジェクトが配布している Red Hat Enterprise Linux 用の拡張パッケージである。Vine Linux 4.2 は EPEL 4 相当のようなので,これが使えそう。インストールしたいマシンは i686 アーキテクチャなので,dl.fedoraproject.org/pub/epel/ から「4」→「i386」の順にたどって fping-2.4b2-7.el4.i386.rpm をダウンロードする。
インストールしてみると…インストールは成功したが,やはり「-S」オプションには対応していなかった。
探してみたところ,ZABBIX-JP のサイトで配布されていた。www.zabbix.jp/binaries/relatedpkgs/ で,ダウンロードしたいパッケージのバージョンとアーキテクチャの順に「rhel4」→「i386」とたどって,fping-2.4b2-16.el4.JP.i386.rpm をダウンロードする。
めでたく成功した。
Zabbix では,新しいことをするには何はともあれテンプレートを作ることから始めるようになっている模様 (w)。「Configuration」→「Templates」画面で「Create template」ボタンをクリックしてテンプレートを作る。
テンプレート名は何でもいいが,雰囲気を他のテンプレートに合わせておくことにする。例えば「Template Simple Check」としておいて,今後,アイテムのタイプが「Simple check」であるものはすべてこれに登録する方針としておく。設定したら下の方にある「Save」で保存。
テンプレートの画面で,「Items (0)」をクリックして「Create item」で新しくアイテムを作成する。アイテムは監視方法である。デフォルトと違う項目は以下の通り。
設定したら下の方にある「Save」で保存。icmpping のパラメータは icmpping[<target>,<packets>,<interval>,<size>,<timeout>] となっているので (5 Simple checks [Zabbix]),上の設定は,連続して ping を 3 発 200 ms 間隔で飛ばし,タイムアウト 1000 ms 以内に1つでも応答があれば「生きている」と判断するというものである。
トリガーは,「アイテムの結果が何たらしたらどうこうする」のきっかけ設定である。「Items (1)」の横の「Triggers (0)」をクリックして「Create trigger」ボタンをクリックして画面を開く。設定は例えば以下のようにする。
設定したら下の方にある「Save」で保存する。
ping 監視したいホストを「Configuration」→「Hosts」から選択して,「Templates」タブを開き,「Add」をクリックして「Template Simple Check」を登録する。設定できたら「Save」で保存。
Zabbix が配布している fping をインストールして,icmpping での監視設定を行った。fping としては,発信元の IP アドレス指定ができる「-S」オプションに対応しているものをインストールしたが,Zabbix Proxy を使って遠くの機器を監視するなどの複雑なことをしないのであれば,このタイプの fping は使う必要がなく,Zabbix サーバの設定ファイル zabbix_server.conf に SourceIP を指定しなければよい。といういささか努力が報われない的なオチだったりするが,まあいいか。勉強にはなった。
Posted by n at 2012-08-03 21:03 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957