ZABBIX4.0 SSHエージェントがうまく動作しない

ZABBIX4.0でSSHエージェントの設定をしておりますが、うまく動作しません。
理由がわからず困ってます。
何か情報ございましたらよろしくお願いいたします。

ZABBIXバージョン 4.0.10

監視対象はSolarisベースのストレージ装置です。

【アイテムの設定】
タイプ:SSHエージェント
キー:ssh.run[XXXX]
認証方式:パスワード
ユーザー名:root
パスワード:XXXX
実行するスクリプト:show volume status|grep state
データ型:文字型・ログ・テキスト それぞれで試しました。
更新間隔:1h

特にエラー等は出ていません。

SSH
実行するスクリプトの結果で「state : DEGRADED」となれば、トリガーの条件式で
ssh.run[XXXX].iregexp(DEGRADED)=1 と設定しています。

ZABBIXサーバから監視対象にSSHコマンドで同様の「実行するスクリプト」内容を実行すると、正常に実行できます。

現在たまたまハードディスクが故障しているため実行結果は以下のようになります。

show volume status|grep state
state : DEGRADED

正常である場合は実行結果は以下のようになります。

show volume status|grep state
state : ONLINE

何か考えられる原因はありますでしょうか?

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

コメント表示オプション

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

値が取得できないのであれば、何らかのエラーが出力されているは
ずです。
「うまく動作しない」と判断されたのは、何がどうなっていたから
ですか?
アイテム一覧の右側に赤い×印は出ていませんか?

ユーザー kazutem の写真

TNK様
ご回答ありがとうございます。
まず、アイテム一覧の赤い×印は表示されておりません。

正常動作であるかを確認したのは以下の方法です。

ZABBIX OS上より以下のコマンドにて、目的の監視対象にSSHでログインできるかを確認し、その後コマンドを実施して表示されるかを確認しています。
実施結果は以下の通り

# ssh root@10.5.22.XXX
Password:
XXX@XXXX:/$
(※XXXはIPアドレス)
$ show volume status|grep state
state : DEGRADED

上記動作では問題なく表示までされているため、SSHアイテムとしては正常に動作していると判断し、トリガー側が実行結果の文字列「DEGRADED」を正常認識できないと考え、
「うまく動作しない」と判断しました。

アイテムと、トリガーの設定は以下の通りとなっています。
アイテム
名前:ssh check01
タイプ:SSHエージェント
キー:ssh.r[{HOST.CONN}]
ホストインターフェース:10.5.22.XXX:161
認証方式:パスワード
ユーザ名:root
パスワード:XXX
実行するスクリプト:show volume status|grep state
データ型:テキスト
監視間隔:1h
監視間隔のカスタマイズ:なし
ヒストリの保存間隔:90d
アプリケーション:ssh check
ホストインベントリフィールドの自動設定:なし

トリガー
名前:ssh error01
深刻度:致命的な障害
条件式:({ssh.run[{HOST.CONN}].iregexp(DEGRADED)})=1
正常イベントの生成:条件式
障害イベント生成モード:複数
正常時のイベントクローズ:すべての障害
手動クローズを許可

このSSHアイテムがZABBIX正常に実行されたか?の確認方法が不明のため、上記のOSからの接続による確認をしています。

ZABBIX側で、どこを確認すると正常にSSHアイテムが正常に処理され、どのように表示されたか?また、トリガー側に情報が渡っているのか?を確認できるのでしょうか?

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

ユーザー TNK の写真

トリガーの判定の前に、アイテムの値としてどのような文字列が取
得できているかを確認してください。

メニューの

 監視データ -> 最新データ

でホストを指定してフィルタリングしてアイテムの値が取得できて
いるかとその内容を確認してみてください。

ユーザー kazutem の写真

TNK様
ご回答ありがとうございます。

メニューから
 監視データ→最新データ
ホストを指定しましたところ以下の通りでした。

最新チェック時間:2019/08/19 17:41:41
最新の値:空白 何もない状態

という事で、アイテム「SSHチェック」にて、値が拾ってこれていない?
という事でしょうか?

ユーザー TNK の写真

値が取得できていなさそうですね。
Zabbixサーバーのログに何らかの情報が出力されているはずなので
すが、何も出力されていないのですか?

ご参考までに、実行しようとされているコマンドの実行にかかる時間
が何秒程度なのかも教えてください。

ユーザー kazutem の写真

TNK様
ご回答ありがとうございます。

zabbixサーバのログ「zabbix_server.log」を再度確認しましたが、
「executing housekeeper」と「housekeeper [deleted XXXX」の情報しか書き込まれていませんでした。

実行するコマンドは1秒もかからず、結果が表示されます。

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

ユーザー kz999 の写真

ひょっとしてなんですが、結果は標準出力じゃなくてエラー出力で出てるんじゃないでしょうか
エラー出力を標準出力に振り向けてからパイプに通してみてください
(手打ちで見えてるのはgrepしてるように見えて実はgrepされてない、単にエラーメッセージとして表示されてるだけ説)

show volume status 2>&1 | grep state

ユーザー kazutem の写真

kz999様
ありがとうございます。
お教えいただいた通りやってみましたが、結果はだめでした。

ユーザー kazutem の写真

監視対象のメーカーに確認しましたところ、sshで接続するユーザによって、
表示が変更されてしまうという装置側の仕様であることがわかりました。

お騒がせしました。

フォーラムをご覧いただく皆様のために、監視対象の情報を記載しておきます。

監視対象システム:NexentaStor
sshエージェントで設定していたていたユーザ:root
メーカー指示ユーザ:admin

ユーザ「admin」では今回のコマンド「show vloume status」は利用ができず、
さらに、adminで接続後に「su」コマンドを入力してパスワードを求められたりするため、
対話形式の入力が必要であるため、sshエージェントでは対応できないと考え、
シェルスクリプトを作成して外部チェックに切替て今回の監視を実現しました。

ユーザ「root」での「show vloume status」は、
ユーザ「admin」では「zpool status」となります。

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