サイトにアクセスできない場合は、電子メールの送信をトリガーしてください即時。
Linux Debian Stretch、Zabbix 4.2.1。
Scenario:
Name: website.com
Update interval: 30s
Attempts: 3
Agent: Zabbix
Steps:
(just one)
Name: website.com
URL: http://website.com/page.php
Follow redirects: checked
Timeout: 30s
(残りの変更なし)
Name: The website.com can't be reached!
Expression: {VIRTUALMACHINE:web.test.fail[website.com].last(3m)}>0
(残りの変更なし)
サイトに3分間到達できない場合(または最後の3つのチェックでタイムアウトごとに30秒のタイムアウトがある場合)、トリガーは電子メールを送信する必要があります。私はさまざまな方法で試みましたが(*以下)、電子メール通知を試行した各トリガー式は、zabbixが初めて問題を検出したときに(n回目ではなく)すぐに送信されました。
*
{VIRTUALMACHINE:web.test.fail[website.com].sum(#3)}>0
{VIRTUALMACHINE:web.test.fail[website.com].last(3m)}<>0
{VIRTUALMACHINE:web.test.rspcode[website.com,website.com].last(0)}#200
{VIRTUALMACHINE:web.test.fail[website.com].last(3)}#0
{VIRTUALMACHINE:web.test.fail[website.com].sum(#3)}>0
{VIRTUALMACHINE:web.test.fail[website.com].last(3)}>0
{VIRTUALMACHINE:web.test.fail[website.com].min(1)}>0
答えがあれば説明してください。遠慮なく尋ねてください。
各トリガーにタグを追加し、タグ条件を追加することで電子メールアクションを編集しました。
例えば:
最初に電子メールアクションを送信します。サーバーにpingできません。
ACTION tab
Conditions:
Tag value server equals icmpping
(残りの変更なし)
2番目に電子メールアクションを送信します:Webサイトにアクセスできません。
ACTION tab
Conditions:
Tag value server equals web
OPERATIONS tab
Default operation step duration: 3m
Operation details: Steps = 2-2; Step duration = 0
(残りの変更なし)
Trigger expression:
{VIRTUALMACHINE:web.test.fail[website.com].last()}>0
これで、ZabbixはWebサイトがダウンしていることを検出してから3分後にメッセージを送信します。この3分間で問題が解決した場合、Zabbixは電子メールを送信しません。
アイテム_web.tyest.fail
_ シナリオの失敗したステップを返します 。その場合、次のような目的の結果を得ることができます。
_{VIRTUALMACHINE:web.test.fail[website.com].min(#3)}>0
_
これにより、最後の3つの値がチェックされ、すべてが0を超えている場合(失敗)に警告が表示されます。このシナリオを考えてみましょう:
試した表現に関するいくつかの追加のメモ:
last()
に使用した値_3
_および_3m
_は無視されました。min()
に使用した値_1
_は秒を意味するため、そのトリガー式はほとんど機能しません。