UDPポートの監視方法

いつもzabbix forumにはお世話になっております。

早速ですが、質問がございます。

UDPポートの監視を行いたのですが、色々調べたところ、zabbixではどうやらUDPポートの監視が不可のようです。
UDPポートの監視をすることが可能なアイテムのキーの書き方や、スクリプトなどを作成して監視する方法はありますでしょうか?

よろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

Linuxを利用されていて、Zabbix 1.8.4以降であれば、特定のポート番号でUDPでの
リクエストを受け付けているかどうかは、
<code>
net.udp.listen[ポート番号]
</code>
というアイテムを利用して監視することができます。

さらにそのポートにパケットを送って正常に処理されるかまでを確認するのであれば、
その為のプログラムやスクリプトを用意する必要がでてくると思います。

ユーザー shin19 の写真

TNK様

早急なご回答ありがとうございます。

私が使用しているzabbixは1.8.6でしたので、早速ご教示頂いたキーを用いてアイテムを作成してみました。
しかし、アイテムのタイプをシンプルチェックにしたところ、ステータスが取得不可となってしまいます。
アイテムのタイプをzabbixエージェントにするとステータスが有効になるのですが、現在zabbixエージェントレスの監視を想定しているので(言葉足らずで申し訳ありませんでした)、使用できません。
本キーはアイテムのタイプがzabbixエージェントでなければ正常に動作しないでしょうか?
もしその場合、zabbixエージェントレスでUDPポートを監視する方法は別にありませんでしょうか?

以上、よろしくお願いいたします。

ユーザー TNK の写真

ご紹介した方法は、Zabbixエージェントを利用する方法ですので、
Zabbixエージェントをインストールしない(できない)サーバや機器
に対しては利用できません。

TCPなら接続できるかどうかでListenしているかを確認できますが、
UDPの場合は、パケットを投げるだけでちゃんと届いたかを確認し
ないので、UDPで送って受け取れるような状態になっているかを判
断するためには、そのUDPを利用するサービスを呼び出してみて、
その結果を確認するための何らかの仕組みを用意する必要になって
くると思います。
そして、外部チェックなどを利用してその用意した仕組みを呼び出
すような設定を行うことになるでしょう。

単純にUDPを利用しているというだけでは、どのような呼び出しを
行って確認できるかがわかりません。
RPCを利用しているサービスであれば、rpcinfoコマンドの出力を利
用して確認するようなスクリプトを作成することで確認できると思
います。

ご確認下さい。

ユーザー shin19 の写真

TNK様

返信が遅くなり、申し訳ありません。
エージェントレスではUDP監視はやはり難しいのですね。
スクリプトなどを作成するなど、別の対応を考えたいと思います。

お忙しい中対応していただき、ありがとうございました。
今後ともよろしくお願いいたします。