web監視でレスポンスコードとレスポンスタイムで通知先を変える方法について

OS:CentOS7
Zabbix 3.0.16

Web監視で以下のアラートを通知させようとしています。

①レスポンスコードが2回連続で200以外だった場合
②レスポンスタイムが15秒を超える場合
※①と②でメール文面、通知先を変える想定です。

Web監視のステップでは、要求ステータスコード200/タイムアウト15秒としており、トリガーは以下のようにしています。

~~~~~
①レスポンスコードが2回連続で200以外だった場合
{URL:web.test.rspcode[webtest,local].last()}<>200
and
{URL:web.test.rspcode[webtest,local].last(#2)}<>200

②レスポンスタイムが15秒を超える場合
{URL:web.test.time[webtest,local,resp].last()}>15
~~~~~

この条件の場合、試したところタイムアウト(Last error messageがTimeout was reached~)になる場合には、
レスポンスコードとレスポンスタイムの最新の値が取得できないことが分かりました。

値が取得できない為、どちらのトリガーも動作しませんでした。

その為、web.test.failでトリガーを考えたのですが、
これだけだと何が原因でステップが失敗したかが分からないので、
どうしたらそれぞれの条件でアラートが通知できるでしょうか。

良い方法があればご教示いただけませんでしょうか。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー yk_taiko の写真

失敗するのであれば、「web.test.error」が更新されるはずです。
タイムアウトした際の文字列で引っ掛けてはいかがですか。

yk_taiko様
ご回答いただきありがとうございます。

文字列で引っかけることも考えたのですが、復旧の条件をどうしようかと悩んでしまっています。
※nodataでできそうな気がしますが、まだ検証できていません。

引き続き検討してみます。

ユーザー yk_taiko の写真

「web.test.fail」と「web.test.error」を組み合わせたらいいんじゃないでしょうか。
ステップが正常になったら復旧するようにできると思います。

yk_taiko様
回答いただきありがとうございます。

以下の設定で障害/復旧通知ができたので、これで様子をみてみます。

{URL:web.test.fail[webtest].last()}=1 and {URL:web.test.error[webtest].str(Timeout)}=1