いつもお世話になっております。
Zabbix APIにて、トリガー実行後でアクション実行前のメッセージを 取得出来ないかと考えております。 アクション実行後であれば、alert.getで取得できることは確認できたのですが、 何か良い方法はありますでしょうか。
最悪、SQL文でDBから直接取得するしかないと思っておりますが、 何とか避けたいと思っております。
Zabbixのバージョンは2.0.9になります。
トリガーで判定して障害と判断されたら、すぐにアラートの情報として 登録されるので、それをフックするとなると、ソースの改変をしない 限り値を取得することは不可能だと思います。
もう少し、どのようなことを実現されたいかをお教え頂ければ、代替案 がないか検討してみます。
TNKさん
回答いただきありがとうございます。
> もう少し、どのようなことを実現されたいかをお教え頂ければ、代替案 > がないか検討してみます。 現在、トリガー実行後、アクションにてスクリプトを実行し、 シスログへのメッセージ出力を行っております。 このスクリプト実行は、トリガーが実行されてから30秒後(デフォルト)に 実行される設定になっていると認識しております。
そのため、トリガーが実行されてからスクリプトが実行されるまでの間に Zabbixサーバに障害等が発生し、スクリプトが実行されなかった場合の ことを考え、トリガー直後の情報が取得できればと考えております。
> トリガーで判定して障害と判断されたら、すぐにアラートの情報として > 登録されるので、それをフックするとなると、ソースの改変をしない > 限り値を取得することは不可能だと思います。 ふと思ったのですが、登録されたアラート情報をもとにスクリプトが実行 されるのであれば、アラート情報が取得できれば前述のことは 満たしているのではと思いました。 検証してみたいと思います。
このスクリプト実行は、トリガーが実行されてから30秒後(デフォルト)に 実行される設定になっていると認識しております。
30秒後ではなく、デフォルトでは30秒間隔で実行すべきアクション が登録されていないかDB上のチェック処理が行われます。 ですので、トリガーが発生して最悪30秒後ですが、タイミングによ ってはすぐに実行されます。
より短い時間間隔で処理させたいのであれば、zabbix_server.conf 内のSenderFrequencyの値を短く設定してみてください。
DBが壊れればスクリプトが実行されない可能性はありますが、DBが 壊れない限り、再度Zabbixサーバが起動されDBをチェックしてアクシ ョンを実行すべきものがあれば、アクションが実行されるようになって います。
> 30秒後ではなく、デフォルトでは30秒間隔で実行すべきアクション > が登録されていないかDB上のチェック処理が行われます。 > ですので、トリガーが発生して最悪30秒後ですが、タイミングによ > ってはすぐに実行されます。 ご指摘ありがとうございます。
> より短い時間間隔で処理させたいのであれば、zabbix_server.conf > 内のSenderFrequencyの値を短く設定してみてください。 試してみたいと思います。
tkcurlさん
このスクリプト実行は、トリガーが実行されてから30秒後(デフォルト)に 実行される設定になっていると認識しております。 デフォルトでステップ1なら即時(Immedately)で動くはずですが…
↓ここを参考になりますかね? マニュアルの3 エスカレーション https://www.zabbix.com/documentation/jp/2.0/manual/config/notifications/...
KAZさん
> ↓ここを参考になりますかね? > マニュアルの3 エスカレーション > https://www.zabbix.com/documentation/jp/2.0/manual/config/notifications/... ありがとうございます。 参考にさせていただきます。
アカウント名 toku1975
Zabbix関連
TNK - 投稿数: 4769
トリガーで判定して障害と判断されたら、すぐにアラートの情報として
登録されるので、それをフックするとなると、ソースの改変をしない
限り値を取得することは不可能だと思います。
もう少し、どのようなことを実現されたいかをお教え頂ければ、代替案
がないか検討してみます。
toku1975 - 投稿数: 22
TNKさん
回答いただきありがとうございます。
> もう少し、どのようなことを実現されたいかをお教え頂ければ、代替案
> がないか検討してみます。
現在、トリガー実行後、アクションにてスクリプトを実行し、
シスログへのメッセージ出力を行っております。
このスクリプト実行は、トリガーが実行されてから30秒後(デフォルト)に
実行される設定になっていると認識しております。
そのため、トリガーが実行されてからスクリプトが実行されるまでの間に
Zabbixサーバに障害等が発生し、スクリプトが実行されなかった場合の
ことを考え、トリガー直後の情報が取得できればと考えております。
> トリガーで判定して障害と判断されたら、すぐにアラートの情報として
> 登録されるので、それをフックするとなると、ソースの改変をしない
> 限り値を取得することは不可能だと思います。
ふと思ったのですが、登録されたアラート情報をもとにスクリプトが実行
されるのであれば、アラート情報が取得できれば前述のことは
満たしているのではと思いました。
検証してみたいと思います。
TNK - 投稿数: 4769
30秒後ではなく、デフォルトでは30秒間隔で実行すべきアクション
が登録されていないかDB上のチェック処理が行われます。
ですので、トリガーが発生して最悪30秒後ですが、タイミングによ
ってはすぐに実行されます。
より短い時間間隔で処理させたいのであれば、zabbix_server.conf
内のSenderFrequencyの値を短く設定してみてください。
DBが壊れればスクリプトが実行されない可能性はありますが、DBが
壊れない限り、再度Zabbixサーバが起動されDBをチェックしてアクシ
ョンを実行すべきものがあれば、アクションが実行されるようになって
います。
toku1975 - 投稿数: 22
TNKさん
> 30秒後ではなく、デフォルトでは30秒間隔で実行すべきアクション
> が登録されていないかDB上のチェック処理が行われます。
> ですので、トリガーが発生して最悪30秒後ですが、タイミングによ
> ってはすぐに実行されます。
ご指摘ありがとうございます。
> より短い時間間隔で処理させたいのであれば、zabbix_server.conf
> 内のSenderFrequencyの値を短く設定してみてください。
試してみたいと思います。
KAZ - 投稿数: 1085
tkcurlさん
このスクリプト実行は、トリガーが実行されてから30秒後(デフォルト)に
実行される設定になっていると認識しております。
デフォルトでステップ1なら即時(Immedately)で動くはずですが…
↓ここを参考になりますかね?
マニュアルの3 エスカレーション
https://www.zabbix.com/documentation/jp/2.0/manual/config/notifications/...
toku1975 - 投稿数: 22
KAZさん
> ↓ここを参考になりますかね?
> マニュアルの3 エスカレーション
> https://www.zabbix.com/documentation/jp/2.0/manual/config/notifications/...
ありがとうございます。
参考にさせていただきます。