Zabbix agent system.runについて

皆さま
初めまして

テンプレート「NTP accuracy Template Japanese」を用いて
NTPサーバの監視を行ないたのですが、正常に動作しません。
https://share.zabbix.com/cat-app/ntp/ntp-accuracy-template-japanese

Server側から
zabbix-getしたところ 下記が値が帰ってきました。
$zabbix_get -s 192.168.251.40 -k 'system.run[ntpq -p|grep \* |awk '{print$3}']'
*ntp-a3.nict.go. .NICT. 1 u 917 1024 377 12.328 0.017 0.238
$

NTP Server側でコマンドを実行すると、期待する値が帰ってきました。
$ntpq -p|grep \* |awk '{print$3}'
1
$

環境は下記になります。
Zabbix Server側
Centos 6.7 64bit
zabbix-server 2.2.11
zabbix-get 2.2.11

NTP Server側
CentOS 6.7 64bit
zabbix-agent 2.2.11
ntp-4.2.6p5-5.el6.centos.2.x86_64

以上宜しくお願い致します。

コメント表示オプション

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

zabbix_getコマンドの引数が適切ではありません。
シングルコーテーションできちんと括られていないので、本来の
引数を引き渡せていない状態だと思います。

Zabbixのアイテムとして登録して確認してみてください。
もしくは、zabbix_getの引数内のメタキャラクタをシェルなどで
解釈されてしまわないよう対策して実行してみてください。

ユーザー tonakai の写真

TNK様
コメントありがとうございます。

キーとして下記を登録していますが、値が取れない状況です。
system.run[ntpq -p|grep \* |awk '{print$9}']

zabbix_getコマンドですが、
$ zabbix_get -s 192.168.251.40 -k 'system.run[ntpq -p|grep \* |awk {print\$9}]'
とすることで実行できました。

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

ユーザー TNK の写真

値が取れないというのは、何がどうなっている状態であるのか、
より具体的にお教えください。

最新データの表示はどうなっていますか?
ホストのアイテム一覧を表示されたときの右端に赤い×マーク
があるなら、そこにマウスのポインタを移動させて何のエラーが
でているのかを確認してください。

あと、zabbix_getを利用して値が取得できるまでにかかった時間
はどの程度であったかもお教えください。

ユーザー tonakai の写真

TNK様

最新データですが、
最新のチェック時間、最新の値ともに、空白です。
情報は、緑のチェックです。

zabbix_getコマンド実行時の値が表示されるまでの遅延ですが、
即時表示です。

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

ユーザー TNK の写真

CentOS 6.7 + Zabbix 2.2.11の環境を構築して確認してみました。
Zabbix Shareで公開されているテンプレートをインポートして、そ
の中の「NTPテンプレート」をホストに紐づけるだけで各値が取得
できました。

tonakaiさんも「NTPテンプレート」を利用されているのですよね?

Zabbixサーバ上から監視対象の値をzabbix_getで値が取得できてい
て、ホストのアイテムのステータスが有効でエラーにもなっていな
いのであれば、あとはホストの設定に誤りがあるかホストのステー
タスが有効ではない状態なのではないでしょうか?

ホスト一覧で、対象のホストのステータスなどを確認してみてくだ
さい。
あと、他のアイテムの値は取得できていますか?
Zabbixサーバのログにも何か出力されていないかも確認してみてく
ださい。

ユーザー tonakai の写真

TNK様

ホストステータスは有効でした。
また、該当ホストにTemplate App Zabbix Agentも適用しているのですが、
正常に値を取得できています。
NTPテンプレートの
proc.num[ntpd]
は取得出来ています。

Zabbix Server側のログは出力されていませんでした。

以上宜しくお願い致します。

ユーザー zinten の写真

tonakaiさん

間違ってたらごめんなさい。
ZabbixエージェントのconfのUnsafeUserParametersの値はどうなってますか?
0になっていたら1に変更してみてください。
たしか$が引っかかったような…

それと一旦awkを外して実行してみるなどすると原因が追いやすいと思います。

ユーザー TNK の写真

Zabbix Shareにある「NTP accuracy Template Japanese」を私も手
元の環境にインストールしてみましたが、ダウンロードできるテン
プレートのうち「NTPテンプレート」に関しては、

 EnableRemoteCommands=1

だけで、UnsafeUserParametersの設定はしなくても値が取得できて
います。

テンプレートとして、「NTPテンプレート(リモート)」を利用す
る場合は、{$NTP_IP}というホストマクロが追加されるだけなので、
こちらもUnsafeUserParametersの設定はしなくてもよさそうです。

zabbix_getでZabbixサーバ側から値が取得できていて、他のZabbix
エージェントを利用したアイテムの値が取得できるのであれば、
NTPテンプレートを紐づけるだけで値は取得できます。
ホストの状態もアイテムの状態にも異常がなく、ログに何も出力さ
れていないのであれば、値は取得されているはずなのですが...。

ちなみにNTPテンプレートで指定されているものにより近いキーで
値を取得するコマンドラインとしては、以下のようなコマンドライ
ンで確認できます。

# zabbix_get -s 192.168.251.40 -k "system.run[ntpq -p|grep \\* |awk '{print\$3}']"
# zabbix_get -s 192.168.251.40 -k "system.run[ntpq -p|grep \\* |awk '{print\$9}']"

ユーザー tonakai の写真

zinten様
TNK様

zabbix agent側の設定ですが、下記を設定しています。
EnableRemoteCommands=1
UnsafeUserParameters=1

server側から
# zabbix_get -s 192.168.251.40 -k "system.run[ntpq -p|grep \\* |awk '{print\$3}']"
を実行したところ、値を取得できました。

また
一旦awkを外してアイテム設定をしましたが、
値が取得できません。

以上宜しくお願い致します。

ユーザー TNK の写真

「NTPテンプレート」を利用されているのであれば、一度、その
ホストから外して保存し、そのホストのアイテムとしてなくなった
ことを確認してから、再度、テンプレートを追加しなおしてみて
頂けませんか?

ユーザー tonakai の写真

皆様

解決しました。
アイテムのタイプを

zabbixエージェント(アクティブ)
->変更
zabbixエージェント

としたところ、値が取れるようになりました。

本来は
zabbixエージェント(アクティブ)
でも正常に動作するものなのでしょうか?

以上宜しくお願い致します。

ユーザー TNK の写真

本来は
zabbixエージェント(アクティブ)
でも正常に動作するものなのでしょうか?

動きます。

動かないのであれば、その環境はアクティブチェックができない環
境です。

Zabbixエージェント側のログは確認されましたか?
Zabbixエージェントの設定で、ServerActiveの設定は行われました
か?

Zabbixエージェント(アクティブ)なアイテムやログ監視などを行う
のであれば、アクティブチェックができるような環境設定が必要で
す。
これらのアクティブチェックのためには、Zabbixエージェントから
Zabbixサーバに対して、デフォルトであればポート番号10051で接
続できるようにすることが必要ですし、Zabbixエージェント側の設
定で、ServerActiveという設定項目に、ZabbixサーバのIPアドレス
を指定することが必要です。

ユーザー tonakai の写真

TNK様

ServerActiveの設定が漏れていました。
設定後、zabbixエージェント(アクティブ)に設定を戻し
動作致しました。

ありがとうございました。