前提・実現したいこと
Zabbixの外部チェックを使って、対象のESXiからインベントリ情報を取得したいと考えています。(標準のテンプレートでは取得できる項目が少ないため)
インベントリ情報は、値が常に1つに決まるもの(搭載CPU名など)と複数(可変)のもの(ESXiがマウントしているデータストア名など)があります。
複数(可変)の値を取得したいため、LLD(ローレベルディスカバリ)を使用したいのですが、LLD、アイテムのプロトタイプの設定あたりで悩んでいます。
困っている事
通常、ローレベルディスカバリで複数の値を取得しjson形式で出力した後、アイテムのプロトタイプでそのjsonの値(戻り値)を引数にして、何かしらの値をとるようにすると思います。
しかし、今回スクリプト(=LLD設定)だけで複数の値(=ほしい値)が取れてしまうので、アイテムのプロトタイプをどのように設定すれば良いかわかりません。
試したこと
以下のような値(jsonオブジェクト)を返すスクリプトを作りました(LLDに設定済み)。
{"data": [{"{#DS_NAME}": "datastore-01"},
{"{#DS_NAME}": "datastore-02"},
{"{#DS_NAME}": "datastore-03"}]
}
次にアイテムのプロトタイプですが、ここは例えばどのように書けばいいでしょうか。
上の例で言えば、datastore-01、datastore-02、datastore-03が欲しい結果(=zabbixのDBに格納したい値そのもの)です。
試しにアイテムのプロトタイプに{#DS_NAME}とだけ書いてもエラー(設定不可)でした。
※もしくはLLDやアイテムのプロトタイプ以外にやり方がありますか?
よろしくお願いいたします
補足情報(FW/ツールのバージョンなど)
・CentOS7 64bit
・zabbix 4.0
・ESXi6.7
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/09/15 21:39
退会済みユーザー
2019/09/21 22:29