正常性確認の重要性とは? インフラ監視との違い、正常性監視の実現方法

システムの安定稼働には、稼働状況を確認し異常を検知するシステム監視が必要です。サーバーやネットワークといったインフラ環境の監視は行っているものの、ユーザがサービスを正常に利用できるかを確認する正常性確認までは行えていないという企業も多いのではないでしょうか。本記事では、正常性確認の重要性やインフラ監視との違い、実現するための方法について解説します。

正常性確認とは

システムにトラブルは必ず発生するものです。あるサーバー上で稼働するシステムを健全な状態に保つためには、状況を定期的に確認するシステム監視が欠かせません。

正常性確認とはシステム監視の種類の一つで、稼働しているシステムが提供するサービスを利用者目線で正常に利用できるかを確認することです。たとえば会員制のWebサービスを運営している場合、以下のような項目を確認する必要があるでしょう。

  • Webサイトのページが閲覧できるか
  • ユーザがログインできるか
  • 各種機能は正常に利用できるか
  • レスポンスに遅延はないか

たとえシステムの基盤となるサーバーがダウンしていなくとも、ユーザがサービスを利用できなければ意味がありません。サービスが快適に利用できなければ、訪問数や利用頻度、売上の減少につながる恐れがあります。そのためサービスが問題なく稼働していることをユーザ視点から確認する正常性確認が重要なのです。適切な正常性確認を行わずに不具合の発見が遅れた場合、原因の調査や復旧対応が遅れ、悪影響が拡大する可能性もあります。

正常性確認の方法

企業が運用しているサーバー上で動作するWebアプリケーションを対象とし、ユーザの視点で定期的に監視します。具体的には確認したい操作を人の手やツールで実行し、URL応答やレスポンスの速度、画面遷移や動作が正常かなどを確認します。デバイスやブラウザなど、さまざまな実行環境を想定して検証する場合もあります。

インフラ監視と正常性確認

システム監視といえば、インフラ監視の方が一般的かもしれません。ここではインフラ監視の種類と、正常性確認との役割の違いについて解説します。

インフラ監視の種類

インフラ監視は、システムを構成するサーバーやネットワークなどの死活や、リソースの使用状況を確認します。具体的には以下のような項目を監視します。

死活監視

対象のサーバーやネットワーク機器などにPINGを送り、疎通が取れるかどうか確認します。応答がない場合は対象機器自体、もしくは通信経路に何らかの問題が生じている可能性があることを検知できます。

リソース監視

性能監視とも呼ばれ、サーバーのCPU・メモリ・ディスクなどのリソースの状態を確認します。各リソースの使用状況を把握できるため、使いすぎによる高負荷や容量不足を早期に検知することでシステム障害を予防できます。

ポート監視

指定ポートへの接続を試みることで、特定のアプリケーションに利用されているポートがダウンしていないか確認します。監視したいポートに対して一定時間ごとに接続を要求するパケットを送信し、応答の有無と種類によって稼働状況を判断することができます。

プロセス監視

プロセスとはOS上で実行されているプログラムのことを指します。特定のプロセスの状態を監視することで、そのプロセス(プログラム)が正常に稼働していることを確認します。

ログ監視

OSやミドルウェアが出力するログファイルには死活監視では得られない重要な情報が含まれているため、ログを収集し保存しておくことで障害の原因追及に役立てられます。ログ監視では、[alert]や[error]などあらかじめ重要と分かっているログ出力文をキーワードとして設定しておくことで、そのログが発生したことを検知できます。

インフラ監視と正常性確認の役割の違い

正常性確認は、ユーザがサービスを利用できるかという「サービスの正常性」を確認するためのものです。インフラ監視は、そのサービスを継続するための基盤となるインフラ環境の「障害予防」や、万が一トラブルが発生した場合の「原因究明や再発防止」に効果的です。

インフラ監視においてアラートが発生していても、サービス自体は問題なく利用できている場合もありますし、反対にインフラ監視において問題が発見できていなくても、実はサービス利用上のトラブルが発生している場合もあります。

障害は基本的に複数要素の複合的要因によって起こることが多いです。正常性確認によってサービスの異常や改善点を発見したり、インフラ監視によって障害の予兆検知や原因追及に役立てたり、両方を組み合わせることでサービスの安定稼働を実現できるでしょう。

正常性確認を実現するためには

正常性確認は、サービスの安定稼働と品質向上を実現するという大きなメリットがあります。しかしその一方で、提供するサービスにおいて、利用者目線であらゆる操作の正常性確認を行うことには多大な労力がかかります。夜間・休日を含めた24時間365日利用されるようなWebサービスを、常に人が監視するのは困難です。
正常性確認を実施したい場合、以下のような対応を検討してみてはいかがでしょうか。

外形監視を導入する

外形監視とは、その名の通り外部ネットワークからWebサイトなどの稼働状況を確認するための監視です。従来リソースや死活などのインフラ監視は内部ネットワークで行われていましたが、現在ではSaaS型の監視ツールが普及したため、手軽に外形監視を実装できるようになりました。URLにアクセスができるか、Webサイト内の画像やスクリプトなどが読み込まれるか、レスポンスに問題はないかなどを監視することができます。複雑な機能を持たないWebサイトであれば、簡易的な外形監視で十分かもしれません。

シナリオ監視ツールを導入する

もう少し踏み込んで、Webサービス上でのユーザの一連の動作の正常性を確認したい、といった場合にはシナリオ監視が可能なツールを導入するのが良いでしょう。監視を実装する難易度は高くなりますが、ユーザがログインページを開いてID/PWでログインできるか、ショッピングカートに商品を入れることができるか、監視したい一連の動作をシナリオとして登録しておくことで自動的に正常性確認を実現できるツールも存在します。

MSPにアウトソースする

自社に監視運用のナレッジや人的リソースが足りない場合は、MSP(マネージドサービスプロバイダ)と呼ばれるシステム監視を代行する専門業者にアウトソースするのもおすすめです。専門知識を持ったスタッフが24時間365日体制でアラートを検知し、トラブル発生時にも適切な対応をしてくれます。監視ツールの導入から設定、適切なインフラの構成など、システムの安定稼働に欠かせないインフラについて幅広い支援を受けることができるでしょう。またインフラの監視運用をアウトソースすることで、自社内のエンジニアはシステムの開発や改善などに集中することができます。

ベアサポートでは、インフラ監視だけでなく、手動でサービスの動作確認まで行うことも可能です。障害対応後の復旧の目視確認や、定期的に指定された動作を実施して結果を確認するといった、人の手による正常性確認も行っています。お客さまのご要望に応じて提案いたしますので、まずはお気軽にご相談ください。

まとめ

正常性確認は、インフラ監視だけでは検知しにくいサービス上のトラブルにスムーズに対応するためにとても効果的です。正常性確認を実現するための方法としては、監視ツールの導入やアウトソースがおすすめです。自社内のメンバーで対応が難しい場合は、専門業者へ相談してみてはいかがでしょうか。

「ベアサポート」では、監視運用の代行だけではなく、インフラの初期構築や監視設計・導入、セキュリティソリューションの導入・運用など、インフラ運用に関することは何でも相談可能です。ITインフラに関する課題をお持ちであれば、ぜひお気軽にご相談ください。

ベアサポートの導入事例はこちら