印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux Zabbix 2.0 の icmpping が動作しない

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」欄の「×」にマウスカーソルを乗せると表示される。たどり着くまでに結構道に迷ったりする。

fping-no-such-file-or-directory.gif
fping-no-such-file-or-directory.gif


これは「/usr/sbin/fping: [2] No such file or directory」というエラーメッセージで,そもそも fping コマンドがインストールされていないことを意味している。

fping-permission-denied.gif
fping-permission-denied.gif


これは「/usr/sbin/fping: [13] Permission denied」というメッセージで,fping コマンドの権限設定が適切でないことを意味している。

fping の導入

失敗例 (Vine plus)

まず fping を起動してみる。

$ fping
-bash: fping: command not found

ということで,fping コマンドがないと。そこで,Vine Linux のパッケージからネットワーク経由でインストールする。

# apt-get install fping
取得:1 http://ftp.jaist.ac.jp 4.2/i386/plus fping 2.4-0vl0.b2 [32.7kB]

ところが,起動しようとすると「Permission denied」と言われる。設定は次のようになっていた。

$ ls -la /usr/sbin/fping
-rwsr-x--- 1 root adm 28398 11月14日  2006 /usr/sbin/fping

Zabbix 公式ページにパーミッションの設定例があげられているが (5 Simple checks [Zabbix]),fping のグループを zabbix にするのには抵抗がある場合は,次の設定でもよい。

# chmod a+rxs /usr/sbin/fping
# ls -la /usr/sbin/fping
-rwsr-sr-x 1 root adm 28398 11月14日  2006 /usr/sbin/fping

しかし,この fping は「-S」オプションに対応していない。「fping -h」で確認できる。fping の本家でも採用されていないようだ (Kodai's Blog: Zabbixでfpingを使うときの注意点)。っていうか,Zabbix 独自拡張?

失敗例 (EPEL)

次に試したのが 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 配布)

探してみたところ,ZABBIX-JP のサイトで配布されていた。www.zabbix.jp/binaries/relatedpkgs/ で,ダウンロードしたいパッケージのバージョンとアーキテクチャの順に「rhel4」→「i386」とたどって,fping-2.4b2-16.el4.JP.i386.rpm をダウンロードする。

めでたく成功した。

icmpping アイテムの利用例

テンプレートの作成

Zabbix では,新しいことをするには何はともあれテンプレートを作ることから始めるようになっている模様 (w)。「Configuration」→「Templates」画面で「Create template」ボタンをクリックしてテンプレートを作る。

  • Template name: Template Simple Check
  • Groups: Templates

テンプレート名は何でもいいが,雰囲気を他のテンプレートに合わせておくことにする。例えば「Template Simple Check」としておいて,今後,アイテムのタイプが「Simple check」であるものはすべてこれに登録する方針としておく。設定したら下の方にある「Save」で保存。

アイテムの作成

テンプレートの画面で,「Items (0)」をクリックして「Create item」で新しくアイテムを作成する。アイテムは監視方法である。デフォルトと違う項目は以下の通り。

  • Name: ICMP Ping
  • Type: Simple check
  • Key: icmpping[,3,200,,1000] (Select ボタンで選んでから引数を編集)
  • Show value: Service state

設定したら下の方にある「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」ボタンをクリックして画面を開く。設定は例えば以下のようにする。

  • Name: {HOSTNAME}: Ping timed out (Dashboard の Issue や Maps に表示され,メール通知のタイトルにもなる)
  • Expression: {Template Simple Check:icmpping[,3,200,,1000].last(0)}=0
    1. Add ボタンをクリックして Condition ウィンドウを開く
    2. Item: Template Simple Check:ICMP Ping (Select ボタンで選択)
    3. Function: Last value = N
    4. Last of (T): 0 Seconds
    5. N: 0
    6. 「Insert」ボタンをクリック
  • Sevirity: High
  • Enabled: check

設定したら下の方にある「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)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?