外部チェック+マクロを利用しているアイテムの値を計算させたい。
お世話になっております。
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 - 投稿数: 4671
関数で計算する元となるアイテムのキーをダブルコーテーションで
括って、アイテムのキー中のダブルコーテーションはバックスラッ
シュでエスケープしてみてください。
そのまま表示できるかわかりませんが、以下のような式とするわけ
です。
timeleft("get_rds_StorageUsedPer.sh[\"{$RDS_NAME}\",\"{$CLW_REGION}\",\"{$CLW_PROFILE}\",\"{$RDS_SIZE}\"]",3600,3600,80,linear)
ご確認ください。
take9fl - 投稿数: 8
TNKさま
ありがとうございます。
さっそく試してみます。
take9fl - 投稿数: 8
TNKさま
無事に値の取得ができるようになりました!
ありがとうございました。