net.udp.serviceのUDPポート監視方法について
OS:CentOS7
zabbix 3.0.5
zabbixエージェント 3.0.5
エージェント側のFWは停止状態。
UDPポートの監視方法についてエラーが解決しない為、御存じのからがいらっしゃいましたらご教授頂けないでしょうか。
chronydのプロセスとポート監視を行いたく、以下のアイテムを登録しました。
※NTPクライアントがCentOS7からChronyになったとのことで、その監視を行いたく設定を行っています。
~~~~~
■プロセス
タイプ:zabbixエージェント
キー:proc.num[chronyd]
データ型:数値(整数)
データの形式:10進数
■ポート1
タイプ:シンプルチェック
キー:net.udp.service[ntp,,323]
データ型:数値(整数)
データの形式:10進数
■ポート2
タイプ:シンプルチェック
キー:net.udp.service[,,323]
データ型:数値(整数)
データの形式:10進数
■ポート3
タイプ:シンプルチェック
キー:net.udp.service[chronyd,,323]
データ型:数値(整数)
データの形式:10進数
~~~~~
上記でプロセスは値が取れていますが、ポートは以下の状態になっています。
・ポート1はエラーになっていないが0が返っている
・ポート2は「invalid first parameter」になる
・ポート3も「invalid first parameter」になる
Zabbixのドキュメントを見ると、net.udp.service[service,,] のservice はntpしかないようだったのですが、そうするとUDPポート監視はできないということになるのでしょうか。
https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/s...
fripper - 投稿数: 495
シンプルチェックの net.udp.service については、
NTP プロトコルに準じた通信リクエストをUDP により発行し
NTP プロトコルに準じた通信応答が得られる点まで含めてのチェックを
実施する仕様となっているようです
net.udp.service[ntp] とした場合はNTPのデフォルトポートとなる
udp port 123 に対してのチェックとなります
chronyd での port 323 待受は、chronyc からの制御コマンド受付用で
ここの通信プロトコルは NTP とは異なりますので、このシンプルチェックでは
成否チェックは出来ません
chronyd を稼働させているサーバ上で zabbix エージェントを稼働させて
net.udp.listen[323] を「Zabbixエージェント」のアイテムとして設定することで
「少なくともポートが listenしているか」まではチェックできると思いますが
「chronyc からの制御コマンドに対して適切な応答ができる状態にあるか」までの
判定は出来ないと思います
kasugai - 投稿数: 72
fripper様
回答頂きありがとうございます。
sshのポート監視とかで、net.tcp.service[ssh,,22]といったことをやっていたので同じようにできるのかと思ったらできないのですね。
とりあえず、zabbix エージェントでnet.udp.listen[323]を監視するように致します。
heya - 投稿数: 319
ちょっと思ったんですが、NTP クライアントなんですよね?クライアントなのに 323 番ポートで待ち受けているんですか?
単に proc.num[chronyd] でプロセスを監視すればいいのでは?
何を見たいのかでアイテムも変わってくると思います。
chronyc であれこれ操作できるかどうかを見たい?
→エージェント net.udp.listen[323]
chronyd がNTPサーバーとして動いている(他の NTP クライアントからの時刻要求に答える)かどうかを見たい?
→シンプルチェック net.udp.service[ntp]
chronyd(のプロセス)が動いているかどうかを見たい?
→エージェント proc.num[chronyd]
たぶん三つ目じゃないかと思うんですが・・・。
kasugai - 投稿数: 72
heya様
回答頂きありがとうございます。
おっしゃるとおりプロセス監視で十分かと思うのですが、プロセスとポートは一緒に監視したいという話があったのでUDPポート監視の設定について検証など確認していました。