この記事は公開されてから1年以上経過しているため、情報が古い可能性がございます。
ご注意ください。

このWordPress pluginを配布しています

art-zabbix

Web監視を設定しているにもかかわらず、サービス障害時にアラート通知が発生せず対処が遅れるということがあり、Zabbixのウェブ監視とトリガーの設定方法を勉強しなおしました。

Web監視、コンテンツ監視。
複数のURLに対してレスポンスを見る監視ですね。

ZabbixAgentが収集するサーバ内部のデータではなく、インターネットアクセスに対する監視を行いますので、必須の監視項目と言えると思います。
そのため、ホストの監視と設定方法が異なります。

前提

  • Zabbix managerの管理者権限を持っている
  • cURLは導入済み
  • 監視対象のドメインは仮に api.example.com 
  • アクションは設定済み

設定方法

1. ホストの登録

設定>ホストに遷移し、監視対象のサイトを登録します。
ホスト名DSN名にはサイトドメインを api.example.com を設定して保存を行います。

2. シナリオの登録

設定>ウェブに遷移し、シナリオを作成します。
ちょっとわかりにくいのですが、右上のプルダウンからホストを1つ選択した状態でなければシナリオの作成ボタンが有効になりません。

シナリオタブ

art-zabbix_web_monitoring_scenario

  • アプリケーション
    TCP/IPを選択します。

  • 名前
    任意の名称です。重複は不可能ですので、サービス名、環境名を付けるのがベターではないでしょうか。

ここではweb_monitoringとしました。

ステップタブ

art-zabbix_web_monitoring_step

複数のページ(URL)を設定することができます。
POST値やタイムアウトを適宜設定します。

今回監視するサービスはnginxとServletコンテナを利用しておりますので、以下の3つのステップを登録しました。

1 .nginx上の静的コンテンツを参照するステップ
2. Servletコンテナ上の静的コンテンツを参照するステップ
3. Servletコンテナ上の動的コンテンツを参照するステップ

項目の説明
  • URL
    監視を行うURLを、プロトコル含めて記載してください。

  • 要求文字列
    レスポンスボディをチェックする場合に設定します。
    正規表現のパターンを設定し、レスポンスボディに対象のパターンがマッチするかを監視します。

  • 要求ステータスコード
    レスポンスのステータスです。
    カンマ区切りで200,202などと、複数のステータスコードが指定できますが、通常は200で良いでしょう。
    レスポンスの有無やコンテンツのサイズ等を監視すると、期待通りに障害の発生を検知できない場合がありますので、ステータスコードをチェックするのがベターです。

3. トリガーの設定

設定>ホストに戻り、トリガーのリンクからトリガーの設定に遷移します。

Web監視では死活監視、レスポンスタイムそれぞれにトリガーを設定することができます。
こちらは後述します。

グラフ

Web監視の設定後は監視データ>ウェブからパフォーマンスをチェックすることができます。

art-zabbix_web_monitoring_graph

トリガー

死活監視

{api.example.com:web.test.fail[web_monitoring].count(#2,1)}=2

このトリガは「web_monitoringが2回連続で失敗した場合にアクションを起こす」という意味です。
私は、突発的なエラーをあまり拾わないように「2回連続」というように条件を設定して、かわりに監視間隔を短くすることが多いです。

「1回でも接続エラーを検知したらしたらアラートを出す」という方針であれば次を設定してください。

{api.example.com:web.test.fail[web_monitoring].last(0)}#0

レスポンスタイム監視

{api.example.com:web.test.time[web_monitoring,{$URL},resp].count(#10, 3, "gt")} >5

respを用いることでレスポンスタイムにトリガーを設定することができます。
Web監視で出力されるグラフはms単位ですが、respは秒単位と、単位が違うようなのでその点ご注意ください。

Web監視については次の記事を参考にいたしました。ありがとうございました。

あぱーブログ
Zabbix 3-13. WEBサイトのレスポンスタイム 監視テンプレートの設定
https://blog.apar.jp/zabbix/1798/




2015年12月23日:タイトルを「[監視][Zabbix]ウェブ監視の設定方法」から変更、トリガーについて追記