「広告」

Zabbix 、WEBチェック 基本3パターン

「広告」
記事内に広告が含まれています。
「広告」

zabbix 5.4系で、行っています。
webがダウンしたり、反応が遅かったりした場合、監視する手順の覚え書きです。

「広告」

監視するWEBサイトを登録

監視対象のWEBサイトを登録します。登録しておくと、レスポンス速度などを定期的に計測してくれます。


↑「設定」「ホスト」「web」を選びます。


↑画面右上の「Webシナリオの作成」を選びます。

↑「名前」は、ご自身でわかりやすい名称を登録します。

「監視間隔」は、「1m」(1分)のままにしておきます。

「ステップ」というところを選びます。


↑「追加」を選びます。


↑「名前」は、適当に入れます。今回トップページをチェックするので、
「web-top-check」としました。
その下のURLは、チェックしたいホームページのURLを入れます。


↑設定されたので、「追加」を押します。


↑「Webシナリオを追加しました」と表示されました。


ステップ"XXXXX" [1の1] 失敗: cURL library is required for Web monitoring support

とエラーが出たら・・・

上記は、zabbix-serverのインストール時に、「curl」のライブラリを指定しなかったためになります。

./configure --enable-server --enable-agent --with-mysql --with-libxml2

./configure --enable-server --enable-agent --with-mysql --with-libxml2 --with-libcurl

にして、再インストール、再起動したところ、うまくいきました


↑監視が正常に行われると、「監視データ」「ホスト」の対象ホストの一番右の「Web」に「1」がつきます(もしくは、一つ数字が増えます)。


↑さきほど、設定をした項目が表示されます。


↑測定された内容がグラフ表示されています。

「広告」

WEBサイトのダウンを検知する

WEBが変だ!というとき、以下の3つを設定してみました。

通知1 ステータスコード200番以外が通知された場合。

500番のInternal Server Errorや、
404番のファイルがない!
などがあります。

通知2 レスポンスタイムが長い場合

何かの処理が重くなり、画面が全く反応しない。という場合です。
アクセスが集中したり、プログラムが停止していた。などが考えられます。

通知3 そもそもサーバーが落ちていた場合

apache(httpd)や、nginxのアプリケーション自体が落ちていた場合、
前者2つの設定では、通知されないようで、違う設定が必要のようです。

通知1 ステータスコード200番以外

サイトが正常でない場合、通知をするようにしましょう。


↑対象ホストの「設定」「ホスト」から「トリガー」を選びます。


↑右上「トリガーの作成」を選びます。

↑「名前」を「web status check」とします。

「深刻度」を「重度の障害」とします。

「条件式」のところの右側の「追加」を押します。

↑「トリガー条件式」という画面が出てきます。

「選択」を選びます。


↑「R」で始まる行を探します。
「Response code for step ・・・」を選びます。
今回は、レスポンスコードをチェックします。

↑「関数」のところのプルダウンを「count()」で始まるものを選びます。

最新の「10」「カウント」と「10」を入れて、「カウント」を選びます。
「V」のところに、「200」を入れます。
「O」のところは、「ne」にします。
「結果」のところは、「>=」を選び、「5」を入れます。

「挿入」を押します。

これで、10回チェックして、応答コードが、200以外のものが、5個以上あれば、トリガー通知を行う。
という意味になります。
今回、1分間に1回チェックしますので、最低5分間は、チェックすることになります。

↑このような条件式になりました。画面下の「追加」を押します。


↑設定されました。

通知2 レスポンスタイムが長い場合

処理が重くて、反応が遅い場合に、通知するようにします。

「通知1」の途中の、トリガーの新規作成を選び、トリガー条件式のところから、違う条件にします。


↑今度は、上記の
「Response time for step ・・・」
を選びます。


↑最近10回の応答レスポンスの平均が、5秒を超えると、通知するようにします。
秒数は、小数点のある数字でも大丈夫ですので、
「0.1秒」という設定も可能です。

↑このような数式になりました。

「追加」を押して、設定を完了させます。

通知3 そもそもサーバーが落ちていた場合

サーバーがダウンしている場合、上記の2つでは検知出来ないようです。

この場合、以下の設定で、検知が出来るかと思います。

こちらも、トリガーの新規作成を選び、トリガー条件式から違う条件にして、設定を行います。


↑Failed step of scenario “WEB”.
を選びます。


↑エラーの場合、「last() 最新値」が「1」という数字が返ります。
このように設定をします。

3つすべて設定完了。

↑このような、3つの設定が有効になりました。

条件式、3つを「OR」でつなげる処理もあるかと思いますが、今回は、個別に設定をしました。

 

タイトルとURLをコピーしました