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 の写真

255ということは引数で指定したサービスが存在しないと判断され
ていると思われます。
コマンドを実行しているシェルで「$」を展開してしまっている可
能性が考えられるので、アイテムキーの部分だけでもコーテーショ
ンなどで括ってシェルに解釈されないようにして、zabbix_getコマ
ンドを実行してみてください。

ユーザー batica の写真

ご返信ありがとうございます。
ご回答いただいたとおり、シングルクォーテーションで括ったところ、0と表示されました。
(ダブルクォーテーションで括ったときは、255のままでした)

【成功例】
zabbix_get -s <対象サーバIPアドレス> -k service.info['MSSQL$<インスタンス名>',state]

ユーザー batica の写真

追記です。

Zabbix Serverのアイテムとして登録する場合はダブルクォーテーションで括るのが正しいです。
(シングルクォーテーションだと255が返ってきます)

【アイテム】
名前:任意
タイプ:Zabbixエージェント
キー:service.info["<サービス名>",state]
データ型:数値(整数)
値のマッピング:Windows service state