はじめまして。 yumiguruiと申します。
表題の件ですが、特定のホストに設定しているトリガー(一部)を メンテナンスのように、特定の期間は検知しないように出来ないか考えています。 #できればメンテナンスの期間指定のように、指定の時間から監視停止して指定時間経過後に監視再開したい
メンテナンスの設定では、ホストもしくはホストグループ単位でしか 設定ができなかったのですが、何か良い方法などありますでしょうか。
お手数をお掛けしますが、宜しくお願いします。
以前も同様の質問がありましたのでそちらをご覧ください。
毎日決められた時間に監視停止時間を設定したい http://www.zabbix.jp/node/3087
使用されているZabbixのバージョンもアイテムやトリガーとしてど のように設定されているかもわかりませんが、上記例のようにトリ ガーの条件式で時刻の範囲を指定する方法が考えられます。
もしかしたら、別の方法として、特定の時間帯にアイテムの値を取 得しないようにすることで対応する方法も考えられるかもしれませ ん。
早々にご回答頂きありがとうございます。 現在利用しているzabbixのバージョンは2.8.4となります。
言葉足らずで要件が伝わりにくかったのですが、 用件は毎日決まった時間でトリガーを停止するのではなく、 メンテナンス作業の時間に限って抑止をしたいという事になります。
簡単に要件をまとめると以下の通りです。
•トリガー単位で指定の作業1回分の時間で検知を抑止したい •設定を変更するのはメンテナンス開始前の1回としたい(抑止の再開漏れを防ぐため)
外部スクリプトを使ってzabbixAPIからトリガーを取得して 指定トリガーを無効化して時間経過後に戻すなども検討したのですが、 そもそも現在のバージョンではトリガー一覧が上手く取得できず要件の 処理を実装できませんでした。
お手数ですが、ご検討願います。
Zabbixに2.8.4というバージョンはありません。 正確な情報をお教えいただけなければ回答することができません。 ご自身で何を使用しているのか再度ご確認ください。
失礼いたしました。 確認したところv2.4.8でした。
# zabbix_server -V Zabbix server v2.4.8 (revision 59539) (20 April 2016) Compilation time: May 4 2016 05:39:23
定期的にではなく、任意の時間帯で特定のトリガーのみということ であれば、ZabbixのAPIを使用するのが一番目的に合致していると 思われます。
APIをどのように使用してできなかったのかわかりませんが、2.4.8 あたりであれば、それなりにAPIも動いたはずです。 具体的に、何をどのようにして取得しようとされたのでしょうか?
とはいえ、2.4.8はすでにサポートが終了(2016年3月)していますの で、バージョンアップを検討されたほうが良いかもしれません。
ご回答ありがとうございます。 改めてAPIの処理を見直したところAPIからトリガーの取得について自己解決しました。
具体的にはこちらのフォーラムを参考にさせて頂きました。 http://www.zabbix.jp/node/3874
●ハマっていたポイント { "jsonrpc": "2.0", "method": "trigger.get", "params": { "host": "Zabbix server", ★ここを[ホスト名]ではなく[表示名]をキーに検索しようとしていた。 "output": "extend", "expandExpression": "true" }, "auth": "f851f69c054fbcd57dcbe596886b48dc", "id": 1 }
本要件を実装するに使用するZabbixAPIは以下を想定していますが 問題ないかご指摘頂ければ幸いです。
1.ログイン処理 ("method": "user.login",) 2.トリガーID取得 ("method": "trigger.get") 3.トリガー停止 ("method": "trigger.update", "params": {"triggerid": "$TRIGGERID","status": 1}) 4.トリガー再開 ("method": "trigger.update", "params": {"triggerid": "$TRIGGERID","status": 0})
アカウント名 yumigurui
ホームページ http://yumigurui.com/
Zabbix関連
TNK - 投稿数: 4740
以前も同様の質問がありましたのでそちらをご覧ください。
毎日決められた時間に監視停止時間を設定したい
http://www.zabbix.jp/node/3087
使用されているZabbixのバージョンもアイテムやトリガーとしてど
のように設定されているかもわかりませんが、上記例のようにトリ
ガーの条件式で時刻の範囲を指定する方法が考えられます。
もしかしたら、別の方法として、特定の時間帯にアイテムの値を取
得しないようにすることで対応する方法も考えられるかもしれませ
ん。
yumigurui - 投稿数: 4
早々にご回答頂きありがとうございます。
現在利用しているzabbixのバージョンは2.8.4となります。
言葉足らずで要件が伝わりにくかったのですが、
用件は毎日決まった時間でトリガーを停止するのではなく、
メンテナンス作業の時間に限って抑止をしたいという事になります。
簡単に要件をまとめると以下の通りです。
•トリガー単位で指定の作業1回分の時間で検知を抑止したい
•設定を変更するのはメンテナンス開始前の1回としたい(抑止の再開漏れを防ぐため)
外部スクリプトを使ってzabbixAPIからトリガーを取得して
指定トリガーを無効化して時間経過後に戻すなども検討したのですが、
そもそも現在のバージョンではトリガー一覧が上手く取得できず要件の
処理を実装できませんでした。
お手数ですが、ご検討願います。
TNK - 投稿数: 4740
Zabbixに2.8.4というバージョンはありません。
正確な情報をお教えいただけなければ回答することができません。
ご自身で何を使用しているのか再度ご確認ください。
yumigurui - 投稿数: 4
失礼いたしました。
確認したところv2.4.8でした。
# zabbix_server -V
Zabbix server v2.4.8 (revision 59539) (20 April 2016)
Compilation time: May 4 2016 05:39:23
TNK - 投稿数: 4740
定期的にではなく、任意の時間帯で特定のトリガーのみということ
であれば、ZabbixのAPIを使用するのが一番目的に合致していると
思われます。
APIをどのように使用してできなかったのかわかりませんが、2.4.8
あたりであれば、それなりにAPIも動いたはずです。
具体的に、何をどのようにして取得しようとされたのでしょうか?
とはいえ、2.4.8はすでにサポートが終了(2016年3月)していますの
で、バージョンアップを検討されたほうが良いかもしれません。
yumigurui - 投稿数: 4
ご回答ありがとうございます。
改めてAPIの処理を見直したところAPIからトリガーの取得について自己解決しました。
具体的にはこちらのフォーラムを参考にさせて頂きました。
http://www.zabbix.jp/node/3874
●ハマっていたポイント
{
"jsonrpc": "2.0",
"method": "trigger.get",
"params":
{
"host": "Zabbix server", ★ここを[ホスト名]ではなく[表示名]をキーに検索しようとしていた。
"output": "extend",
"expandExpression": "true"
},
"auth": "f851f69c054fbcd57dcbe596886b48dc",
"id": 1
}
本要件を実装するに使用するZabbixAPIは以下を想定していますが
問題ないかご指摘頂ければ幸いです。
1.ログイン処理 ("method": "user.login",)
2.トリガーID取得 ("method": "trigger.get")
3.トリガー停止 ("method": "trigger.update", "params": {"triggerid": "$TRIGGERID","status": 1})
4.トリガー再開 ("method": "trigger.update", "params": {"triggerid": "$TRIGGERID","status": 0})