時間を閾値にトリガーを設定したい
お世話になります。
バージョン:Zabbix2.2.8
以下の対応を実施したいのですが、何かいい方法はないでしょうか。
①PostgresのDBにて行っているSQL実行時間を取得
②SQL実行時間をZabbixに取り込み、実行時間が●●秒以上だったら検知させる
①は時間取得用のSQLを実行し、時間部分を取得。その時間をZabbix_senderでサーバ上に送信することで対応したのですが、
送信する際に数値では送信できず、アイテムを文字列として登録するとZabbix_senderで送信することができました。
文字列として取得しているので●●秒以上の閾値は設定できないのかと考えています。
なので、
1.PostgresのSQLで時間を数値に変換させる
2.Zabbix上で時間計算させる
のどちらかと思うのですが、何かいい方法をご存知でしたら教えていただけますでしょうか。
TNK - 投稿数: 4769
具体的にzabbix_senderで送ろうとした値はどのような値ですか?
数値以外の文字列が含まれているようであれば、アイテムでは数値
として受け取ることができません。
tomi12120321 - 投稿数: 109
早々のご回答ありがとうございます。
以下のような値になります。
00:04:38.746056
00:00:00
00:08:49.360542
00:03:50.17328
TNK - 投稿数: 4769
そのフォーマットでは数値として処理できません。
秒に変換するなどの対応が必要だと思います。
tomi12120321 - 投稿数: 109
ご回答ありがとうございます。
試してみます。
TNK - 投稿数: 4769
例えば、シェル上でawkを使うと以下のような変換はできたりします。
$ echo 00:04:38.746056 | awk -F: '{ print ($1 * 3600) + ($2 * 60) + $3 }'
278.746
$