別のアイテムの値をアイテムのキーとして使用できるのか。
外部チェックである値を取得するアイテムがあり、その値を別の外部チェックのアイテムのパラメータとして利用したいのですが、現在実現できていません。
例えばパラメータを以下のようにしても、zabbix_server.logには以下のエラーメッセージが表示されており、実行できていないようです。
パラメータ例
・get.sh["-n","test","-d","Name=VolumeId,Value=last("describe.sh[\\"{$REGION}\\",\"{$INSTANCEID}\"]")","-m","Volume"]
・エラーメッセージ「Error parsing parameter '--dimensions': Expected: ',', received: '"' for input:」
画面で確認すると、アイテムのステータスは「取得不可」で「Received value [] is not suitable for value type [Numeric (float)]」となっています。
そもそも、別のアイテムの値をアイテムのキーとして使用できるものでしょうか。
heya - 投稿数: 319
こんにちは。
計算アイテム以外で他のアイテムの値を使うことはできないはずですし、キーとして使うのは計算アイテムでも無理です。
上に書かれた目的であれば、元ネタの値を取得する外部チェックをA、Aで取得した値を使いたい別の外部チェックをBとすると、
・Bの最初にAと同じ処理をして値を取得する
・Aの最後の部分で、ファイルにも値を書いておいて、Bではそれを読む
のどちらかではどうでしょうか。AやBが自作スクリプトでなければ、ラッパー用のシェルスクリプトを作るのがいいと思います。
あとは、Aの値が何であれ必ず引っかかるトリガーを設定し、そのトリガーを条件にしたアクションを設定、そのアクションでコマンド実行(これがBに相当)し、結果を zabbix_sender で送る、というやり方もどこかで聞いたことがあります(実際試したことはありません)。
kasugai - 投稿数: 72
回答ありがとうございます。
>計算アイテム以外で他のアイテムの値を使うことはできないはずですし、キーとして使うのは計算アイテムでも無理です。
ダブルコーテーションのエスケープとか違うのかなどといろいろやったのですが、そもそも無理なのですね。
今回は、BにAと同じ処理を追記して対応することにします。
ありがとうございました。