SQLServerのサービス監視とsc queryの結果が異なる
表題の件、投稿いたします。
Zabbix Serverから以下コマンドを実行したところ、「255」の値が返ってきました。
zabbix_get -s <対象サーバIPアドレス> -k service.info[MSSQL$<インスタンス名>,state]
しかし、対象サーバでsc query MSSQL$<インスタンス名>を実行すると、
RUNNINGと表示されます。
他のサービスで試したところ、zabbix_getでは0、
sc query <サービス名>ではRUNNINGと表示されます。
MSSQLをサービス監視するためには、何か行わなければならないことがあるのでしょうか。
【環境】
Server OS :RHEL8
Zabbix Server :5.0
Zabbix Agent:5.0
Windows Server(監視対象):2019





TNK - 投稿数: 4769
255ということは引数で指定したサービスが存在しないと判断され
ていると思われます。
コマンドを実行しているシェルで「$」を展開してしまっている可
能性が考えられるので、アイテムキーの部分だけでもコーテーショ
ンなどで括ってシェルに解釈されないようにして、zabbix_getコマ
ンドを実行してみてください。
batica - 投稿数: 30
ご返信ありがとうございます。
ご回答いただいたとおり、シングルクォーテーションで括ったところ、
0と表示されました。(ダブルクォーテーションで括ったときは、
255のままでした)【成功例】
zabbix_get -s <対象サーバIPアドレス> -k service.info['MSSQL$<インスタンス名>',state]batica - 投稿数: 30
追記です。
Zabbix Serverのアイテムとして登録する場合はダブルクォーテーションで括るのが正しいです。
(シングルクォーテーションだと
255が返ってきます)【アイテム】
名前:任意
タイプ:Zabbixエージェント
キー:service.info["<サービス名>",state]
データ型:数値(整数)
値のマッピング:Windows service state