今回は、前回の記事にて紹介したHTTPプロトコルを使用したWebサイト監視を、一部項目にはなりますが、NetKids iMarkから監視を試してみたいと思います。
はじめる前に
今回解説する内容は無償版、評価版でもご利用いただけます。インストーラーは下記リンクページよりダウンロードができます。
HTTPプロトコルを使用するiMarkの監視項目
まずiMarkにて、HTTPプロトコルを使用して監視を行う項目は以下の5項目になります。
- HTTP応答コード
- HTTP完了時間
- HTTPデータ長
- HTTP更新日時
- HTTPデータ改変
上記全ての監視項目で、HTTPリクエストを発行し返ってきたHTTPレスポンスを基に、項目毎の目的に合わせた情報の取得、または算出をします。以下に各監視項目の内容を説明をいたします。
HTTP応答コード
HTTPステータスコードを取得する項目です。
HTTP完了時間
リクエストしたURIを、完全に受信しきるまでの時間(指定したファイルを完全に受信するまでの時間)を計測する項目です。
HTTPデータ長
HTMLページのデータ量を計測する項目です。HTTPレスポンスヘッダーからContent-Lengthフィールドの値を取得します。
HTTP更新日時
HTMLページの最終変更日時を計測する項目です。HTTPレスポンスヘッダーからLast-Modifiedフィールドの値を取得し、[1970/01/01 00:00:00]から取得した値までの経過秒数を算出します。
HTTPデータ改変
HTMLページに変更がないか、ハッシュ値の比較により計測する項目です。HTMLページからMD5でハッシュ値を算出します。この際、前回のハッシュ値と異なっていた場合はエラーとなります。
Webサイト監視の各内容に適するiMarkの監視項目
前回の記事にて、Webサイト監視の内容の一例を紹介しましたが、それらをiMarkにて監視する場合にそれぞれどの監視項目が適しているかご紹介いたします。
Webサイト監視の内容 | iMark監視項目 |
---|---|
応答確認 | 全ての監視項目 |
HTTPステータスコード | HTTP応答コード |
応答時間 | HTTP完了時間 |
改ざん確認 | HTTPデータ長 HTTP更新時間 HTTPデータ改変 |
実際にiMarkから監視を試してみる
今回は「監視対象Webサーバに対して5分間隔でHTTPステータスコードの監視を行い、”200″なら正常、”200″以外の値を取得した場合は全てエラーと判定する」という設定で監視を行いたいと思います。
基本的な操作については過去記事「NetKids iMarkでPing監視を設定してみよう!」にて紹介していますので、ここでは割愛させていただきます。
![](https://www.netkids-series.info/wp-content/uploads/2024/03/a11b4bb3ba448d1fa402ac3dc62cc91f-2-160x90.png)
ターゲット設定の内容
ターゲットタブの設定内容
以下の内容で設定を行います。
- ホスト名:監視対象サーバのホスト名やIPアドレス、またはドメイン名
- チェック種別:HTTP応答コード
- チェック間隔:5分
![](https://www.netkids-series.info/wp-content/uploads/2024/04/HTTP_iMark_1-2.png)
次に同じ画面内にある「オプション編集」ボタンをクリックして「オプション設定」の画面を表示し、必要な情報を設定します。
「オプション設定」では選択しているチェック種別毎のオプションを設定できます。
HTTP応答コードを含む、HTTP系の監視では以下の項目が設定できます。今回はその中から「ファイル名」だけ設定を行います。
オプション項目 | 説明 |
---|---|
ファイル名 | リクエストする対象のファイル名(Webページなどのコンテンツ) 例えば、https://www.istinc.co.jp/index.htmlというURLの場合、 「index.html」がファイル名となります。 ただしiMarkでは「/」も含めて指定します。 このオプションは必須項目となります。 またファイル名の後ろに「:8080」のように、 コロンと数字を指定する事で、対象TCPポートの変更ができます。 デフォルトはTCP80となります。 例)/index.html:8080 ※今回はポート番号の変更は行わず、ファイル名のみ指定します。 |
ユーザ名:パスワード | 基本認証が必要なページにアクセスする際に使用する、 ユーザ名とパスワードを指定できます。 ※今回は使用いたしません。 |
User Agent | HTTPリクエスト時に使用するUser-Agentを指定できます。 指定しない場合デフォルトのUser-Agentが使用されます。 ※今回は指定いたしません。 |
今回はファイル名のみ設定して監視を行います。
![](https://www.netkids-series.info/wp-content/uploads/2024/04/HTTP_iMark_2-1.png)
ここまで設定を終えたら「OK」ボタンをクリックして「オプション設定」を閉じます。すると先ほどの設定が反映されます。
![](https://www.netkids-series.info/wp-content/uploads/2024/04/HTTP_iMark_3-1.png)
HTTPの監視では、ホスト名に指定された文字列とファイル名(オプション1)に指定された文字列に、“http://“を付与して組み合わせて、“http://”+”ホスト名”+”ファイル名”のように一つのURIの形式にして監視を行います。上記設定ではホスト名が”Web-Test-Server“、ファイル名が”/iisstart.htm“となるので「http://Web-Test-Server/iisstart.htm」というURIとなります。
評価タブの設定内容
HTTP応答コードではHTTPステータスコードを取得する監視となりますが、あくまで目的はHTTPステータスコードの取得する事となる為、”200″以外の値でも取得できれば正常と判定いたします。
ただ、それでは異常を検知する事が難しくなるため、ここで設定できます閾値(評価式)設定にて”200″以外の値を取得した場合にエラーと判定させるようにします。
設定内容は以下となります。
- 閾値:”閾値設定(評価式)を行う”のチェックを有効にする
- 評価式:V != 200
![](https://www.netkids-series.info/wp-content/uploads/2024/04/HTTP_iMark_4.png)
この評価式の「V」は計測値を表しており、監視項目毎で情報の種類や単位が異なります。今回の場合、HTTPステータスコード取得する監視のため、「V」=HTTPステータスコードとなります。以前紹介したPing応答時間の監視ではその名の通り、Pingを行い応答を得られるまでの時間を計測する監視となるため、「V」=Ping応答を得られるまでの時間(ms)となります。
「!=」は演算子の一つで、ここでは式の右辺と左辺が等しくない場合に閾値超えと判定されます。
すなわち上記の評価式は「左辺の”V”(HTTPステータスコード)が、右辺の”200″と等しくない(!=)場合には閾値超えと判定する」という意味になります。
実際に監視を行い結果を確認する
上記の設定を全て終えたら「OK」ボタンをクリックし、実際に監視を行い監視結果を見てみましょう。
正常パターン:HTTPステータスコードが「200」
まずはHTTPステータスコードが”200″で返される正常判定のパターンを見てみます。
![](https://www.netkids-series.info/wp-content/uploads/2024/04/HTTP_iMark_4-2.png)
計測値が”200“となっており、HTTPステータスコードが“200“で返されている事が分かります。その場合は当然、監視結果が「OK」(正常)となります。
閾値超えパターン:HTTPステータスコードが「200」以外
今度は監視対象のWebサーバの設定を変更し、必ず”200″以外のHTTPステータスコードを返すようにして監視を行ってみます。
![](https://www.netkids-series.info/wp-content/uploads/2024/04/HTTP_iMark_5-1.png)
計測値が”401“となっており、HTTPステータスコードが”401“で返されている事が分かります。
監視結果が「閾値を超えました」となりエラーと判定しています。これは前述の通り、評価式により取得した値(=HTTPステータスコード)が200以外のため、閾値を超えたと判定をしております。
※補足:閾値を設定していない場合は以下のような結果となります。
![](https://www.netkids-series.info/wp-content/uploads/2024/04/HTTP_iMark_7.png)
Webサーバから応答が返って来ない場合
前述しましたが、Webサーバから応答が返らないなど疎通ができない状況では、全てのHTTP監視でエラーとなります。監視開始から規定時間までに、対象Webサーバより応答が返って来ない場合には「タイムアウト」のエラーとして判定されます。
![](https://www.netkids-series.info/wp-content/uploads/2024/04/HTTP_iMark_6-1.png)
おわりに
今回はHTTPプロトコルを用いた監視項目の紹介から、HTTP応答コード監視にてHTTPステータスコードを対象としたWeb監視を実際に行ってみました。定期的に監視を行う事でWebサイト、Webサービスの安定した提供に繋がります。
ここでは一例としてHTTP応答コード監視を紹介しましたが、目的に合わせた監視、また複数の監視項目を併用して複合的な監視を行う事も可能です。
これらの機能は無償版、評価版でお試しいただけるのでぜひご利用ください。
コメント