外形監視と死活監視の違いとは?
まずは外形監視と死活監視の違いについて理解を深める必要があります。
外形監視と死活監視は、双方システムの状態を確認する行為であり、同一の意味合いがありますが、それぞれ異なる視点で監視を行う点で違いがあります。外形監視は、外部のユーザーの視点で確認を行い、死活監視はより低層の通信プロトコルの目線で確認を行います。システムが正常動作していることを担保するには、外形監視と死活監視の両方でチェックするとより信頼性の高い監視が可能ですが、外形監視のみでも一定レベルの正常動作を担保が可能です。
この記事では、外形監視と死活監視それぞれの違いについて詳しく解説していきます。
外形監視とは?
外形監視とは、外から見た時のサービス状態を監視します。つまり、ユーザーがサイトにアクセスできるかどうかという視点でシステムが正常動作しているかどうかを確認することが目的となります。
Webサイトの場合、一般のユーザーはWebブラウザを使用してWebサイトにアクセスを行います。この時、HTTPプロトコルでサーバーと通信し、サーバーからデータを取得し、Webブラウザにページを表示します。このプロセスの中の、HTTPプロトコルの通信を確認することで、Webサイトの正常性を確認することが外形監視の目的になります。
HTTPプロトコルで通信すると、通信の戻り値(レスポンス)の中にHTTPステータスを受け取ることができます。サーバーと正常に通信できた場合、HTTPステータス200を受け取り、サーバーにリソースが無い場合は404を返し、サーバーがエラーを検出した場合HTTPステータス500を受け取る場合があります。このようにレスポンスのHTTPステータスを確認することでとサーバーが正しく処理できたことと、通信の正常性を確認することができます。
少々専門的な解説になりますが、HTTPプロトコルの通信はネットワーク標準規格で定められたOSI参照モデルにおける、アプリケーション層以下全てを利用します。これが意味することは、HTTP通信が正常であれば、通信回線の問題がクリアできるという意味と同義であり、加えてHTTPステータスはサーバーの正常性を表現するため、包括的にWebサイトの状態を確認することができるため有用な監視手法と言えます。
死活監視とは?
死活監視とは、対象のシステムが生きているか死んでいるかを監視します。具体的には、上記のOSI参照モデルの基礎となるTCP/IPプロトコルの通信ができるかどうかを確認する手法となります。死活監視においては、外形監視と比較してより低レベル(ITの文脈では、より基礎的な部分のことを言います)の部分で監視を行います。
例えば、HTTP通信はTCP/IPの80番ポートやTLS(SSL)の443ポートを対象に通信を行うため、このポートへの通信が可能かどうかを確認するようなものです。この時、HTTPプロトコルのようにレスポンスステータスを確認することはなく、通信が可能であるか不可能であるかのみを確認する手法になります。死活監視の観点では、外形監視と比較してより具体的な問題に対するアプローチが可能であるため、ピンポイントの問題を特定する目的であれば有用な手段です。
外形監視と死活監視はどちらを使用するべき?
前述の通り、外形監視はユーザー目線、死活監視はコンピュータ目線での監視となり目的が異なります。外形監視と死活監視どちらを使用するべきかはお客様の環境と目的によりますが、最低限外形監視を設定し、オプションで死活監視を行うと良いでしょう。
基本的なWebサイトであればURL監視などの外形監視のツールを利用すれば目的を果たせると思われますが、外部に公開していないシステムや、HTTPプロトコルを使用しない例えばFTP専用のサーバーなどの場合、SSHポートの通信を監視したりする場合があります。
まとめ
外形監視と死活監視というテーマでお話をさせていただきました。どちらを使うべきかは、お客様の環境や目的に応じて監視方法を使い分けることで、安定的なサービス提供を実現しましょう。