システム障害はどのように検知するか?
(クリックで拡大)
図1 ICMPやTCPコネクションの実行などを用いた監視方法
|
(クリックで拡大)
図2 SNMP(MIB)による機器監視の仕組み
|
システム運用において、障害を速やかに検知して問題を特定し、できるだけ早期に修復することは非常に重要なテーマだ。特に、システムが大規模、かつ、複雑になればなるほど、障害の検知や問題の特定は難しくなる。このため、さまざまな監視ツールを導入し、システムが正常に稼働しているかどうかを常時監視するのが通例だろう。まず、サイレント障害を解説する前に、通常の運用監視の手法をおさらいしておこう。
システム監視については、ネットワークの疎通状況やサーバのハードウェア/ソフトウェアの稼働状況、サーバやパフォーマンスの性能監視など、その適用範囲は広い。たとえば、ネットワークやサーバの稼働状況の監視方法については、最も基本的(初歩的)なものに「ICMP」(ping、tracerouteなど)というプロトコルを使った方法がある(
図1)。
「ping」「traceroute」コマンドを実行すれば、接続先に至るネットワーク経路の疎通状況や、通信の遅延状況、ルータやサーバの物理的な稼働状況(死活監視)などがわかる。また、サーバに対してテストの接続要求(TCPコネクション要求)を実行したり、サービスへの疑似的な実行を行って、サーバ上のサービスが正常に稼働しているかを監視することができる。
さらには、「SNMP」というネットワーク監視のプロトコル上で、「MIB」という性能監視のためのプロトコルを使い、サーバやルータのCPUの使用率や空きメモリ、回線利用率などの検査を定期的に行い、パフォーマンスを監視する手法も利用されている(
図2)。
これらの手法を用いたシステム監視システムではアラート(警告通知)を表示するため、一定の値を「しきい値」として設定し、事前に設定したしきい値を上回る、あるいは、下回った場合にアラートを通知するようになっている。このようなシステム障害への対処方法によって、問題が発生した時に、アラートが通知されることで障害を検知し、その原因を特定して問題を修復するというのが、一般的なアプローチ方法だ。
【次ページ】サイレント障害とは?