外部チェック+マクロを利用しているアイテムの値を計算させたい。

お世話になっております。

zabbix3.0.7を利用しています。

AWSのcloud watchメトリクスを「外部チェック」タイプを指定したアイテムによって取得しています。

タイプ:外部チェック
キー:get_rds_StorageUsedPer.sh["{$RDS_NAME}","{$CLW_REGION}","{$CLW_PROFILE}","{$RDS_SIZE}"]
データ型:数値(浮動小数)

・上記アイテムによって実行されるのはcloud watchメトリクス取得のスクリプトです。
・また、RDS名、AWSのリージョンやプロファイルなどの情報は、ホストのマクロで定義し、スクリプト実行の際引数として渡しています。

ここまではうまくいっており正常に値が取れています。(たとえばRDSのディスク使用率を取得)

しかしながら、
上記のアイテム値を「ディスク枯渇予測」をするべく、下記の設定でさらに計算アイテムで計算しようとすると、
「Macro '{$RDS_NAME}' value is not numeric」とエラーになり値(予測枯渇日数)の取得ができません。
どうやらマクロに入っている文字列(rds名)が原因で起こられているようですが、キーを指定するためには
これしか記述のしようがないのでは?と思います。

タイプ:計算
キー:rds.yosoku
式:timeleft(get_rds_StorageUsedPer.sh["{$RDS_NAME}","{$CLW_REGION}","{$CLW_PROFILE}","{$RDS_SIZE}"],3600,3600,80,linear)
データ型:数値(浮動小数)
単位:s

"を\でエスケープしても同じ結果でした。
このようなケースで正常に計算させる方法はありますか???

ちなみに、vfs.fs.size[/,pused]で取得したアイテム値を基にして、今回のケースと同じ「ディスク枯渇予測」の計算アイテムを設定すると
正常に値(予測枯渇日数)は取得できました。

コメント表示オプション

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

関数で計算する元となるアイテムのキーをダブルコーテーションで
括って、アイテムのキー中のダブルコーテーションはバックスラッ
シュでエスケープしてみてください。

そのまま表示できるかわかりませんが、以下のような式とするわけ
です。

timeleft("get_rds_StorageUsedPer.sh[\"{$RDS_NAME}\",\"{$CLW_REGION}\",\"{$CLW_PROFILE}\",\"{$RDS_SIZE}\"]",3600,3600,80,linear)

ご確認ください。

ユーザー take9fl の写真

TNKさま
ありがとうございます。
さっそく試してみます。

ユーザー take9fl の写真

TNKさま
無事に値の取得ができるようになりました!
ありがとうございました。