昨今、業務のIT化や企業のDX推進によりシステムのクラウド移行が加速しています。そんな中「クラウドサービスを利用しているがトラブルが多発し、監視・運用が十分に実施できていない」「システムを構築した後、監視設計が重要だと聞いているが、何が重要なのかわからない」という声を耳にします。
本記事では、システム運用において重要な工程である「監視設計」について解説します。監視設計について知りたい、監視設計の重要性がわからないという方は、ぜひご参考ください。
関連の記事をご用意しております。ぜひご覧ください。
▼構成管理とは? ITシステムの安定稼働を支える重要なプロセスとその目的を解説
監視設計とは?
監視設計とは、システム設計において非常にコアな分野です。システムが正常に動作しているか、異常は発生していないかなどを検知するための仕組みを設計するものです。
システムの中には、サービスを提供するシステムもあれば、基幹(インフラ)システムもあります。どのようなシステムでもシステム監視は必要であり、障害発生時には迅速な対応と問題解決に努めなければなりません。
システム監視を行っていない、または詳細の監視設計ができていない場合、迅速な対応が難しくなったり障害を特定するのに時間がかかったりします。
安定したシステムを運用するために、監視設計をしっかりと固めることが大切です。
監視設計の目的
まず「監視の目的」を理解しましょう。
監視とは、その名の通りシステムやネットワークが正常に動作していることを監視します。
組織内に構築されているシステムは、日常的に発生する障害やトラブル、また思わぬ障害にも備えなければなりません。現在のシステムは高性能で障害のリスクも低くなっていますが、障害が起きない可能性は0%ではありません。システム機器のバージョンやウイルス攻撃、人的エラーや災害発生による停電など、様々な事象により障害は発生する可能性があります。
システムの障害発生時にはシステムを停止する必要があり、その間ユーザーはサービスを利用できなくなります。例えばECサイトであれば、ユーザーの購入機会を奪ってしまうため、売り上げの低減につながるといえるのです。
また、システム障害により第三者が侵入し、サービスに登録されている会員情報を流出させてしまったケースも度々発生しています。個人情報の漏えいは極めて深刻な問題であり、ユーザーへの補償を行う必要がある上に、社会的信頼を失ってしまいます。組織にとっては非常に大きな損失だといえるでしょう。
そのため、障害規模の大小にかかわらず、障害の対策を講じるとともに、障害発生時には即座に検知し、迅速な対応を施せる体制が必要なのです。その体制を整えるには、綿密で正確な監視設計が必須となるわけです。
監視の種類
監視には大きく分けて、「サービスの監視」と「インフラの監視」の2種類があります。
サービスの監視では、サービスを利用するエンドユーザー視点で、サービス利用上に問題ないかどうか監視します。
インフラの監視では、サーバーやネットワーク機器など、サービスを提供するために必要な要素に問題ないかどうか監視します。
インフラの監視はさらに、以下の3つに分けられます。次項より解説します。
- システム監視
- クラウド監視
- サーバー監視
システム監視
システム監視とは、サーバーやネットワークなどシステム全体が正常に稼働しているか、定期的に確認する業務のことです。システムの安定稼働は、ユーザーの満足度向上につながるため、とても大きな役割を果たすといえるでしょう。
システム監視について、こちらの記事で詳細を解説しています。ぜひ、ご参考ください。
▼システム監視とは? 必要性や監視項目をわかりやすく解説
クラウド監視
クラウド監視とは、クラウドで稼働するシステムやアプリケーション、ログの監視・分析・管理を行うことです。クラウド監視を行うことで、システムやアプリケーションの安定性や可用性を高められます。また、ハードウェアを監視する必要がないため、監視リソースを減らしてコストの削減にもつながります。
クラウド監視について、下記記事で紹介しています。
▼クラウド監視とは? オンプレミスとの違いやメリット、運用負荷を軽減するポイントを解説
サーバー監視
サーバー監視とは、サーバーが正常に稼働しているか監視することです。「死活監視」ともいわれます。前項のシステム監視もサーバーを監視するものですが、サーバー監視によるスポット的な異常をチェックすることが重要となります。「システム監視を行うからサーバー監視は必要ない」ということではないため、両方をかけ合わせて強固な監視体制をとることをおすすめします。
サーバー監視の詳細については、下記記事をご参考ください。
▼サーバーの死活監視とは? 監視の種類と実施方法を解説
▼サーバー監視ツールとは? 導入のメリット・デメリットを解説
監視設計の進め方
前章で説明した通り、監視といっても複数の視点があります。監視設計において、運用設計と同じように「システムの用途」を把握することが大切です。
ここではECサイトを例に、監視設計の進め方について説明します。
step.1:システムが提供するサービスは何か
まず「システムが提供するサービスは何か」という視点で設計します。
ECサイトでは、アカウントの作成・削除・変更/作成したアカウントでログイン/商品の検索/商品を購入カートに入れる・削除する/商品を購入する、というようなことを行えます。
ユーザーから見た場合、これらを正常に操作できることがサービスを正常に利用できる状態であるといえます。
監視設計に当てはめると、
- WebブラウザでECサイトにアクセス→アカウント作成→ログイン→アカウント変更→アカウント削除
- WebブラウザでECサイトにアクセス→ログイン→商品検索→商品を購入カートに入れる・削除する→商品を購入する→ログアウト
これらの操作が正常に完了できればOKです。
ブラウザでアクセスした際に、単に画面遷移が思い通りにできるだけでなく、ユーザーの要望を満たすクオリティの側面から、各ページの表示の仕方や画面遷移の時間にも定めた指標を設け、監視設計の項目のひとつとして定義します。
step.2:サービスを提供するために必要なインフラ・ネットワークは何か
サービスを提供するシステムインフラとして、基本的なものは以下になります。
- インターネット接続回線
- インターネット接続ルーター/ファイアーウォール
- スイッチ
- ロードバランサー
- Webサーバー
- DBサーバー
上記すべてがサービスを提供するために必要なインフラです。
冗長化(コンピューターやシステムに障害が発生した場合に備えて、予備装置を普段から配置・運用すること)されている部分については、一方の障害だけではサービス停止には至らないため、サービス停止を予防するための監視という位置づけになります。
それに対して、冗長化されていない部分や冗長化されていても両系の障害を検知するための監視は、インフラの異常にいち早く気づき、即座に復旧対応に移るための監視という考えです。
例えば、Webサーバーの場合、
- 2台中1台の障害であれば「警告としての通報」
- 2台とも障害であれば「障害通報」
というような、同じ監視内容であっても条件によって通知方法を変更するという考え方が必要になるでしょう。
step.3:サービスを提供するためにインフラ・ネットワーク上で動作しているプログラム(OS)は何か
最後に、プログラムやOSの視点です。監視設計においてプログラムが一番細かな単位となります。
プログラムに関して、目的によって2つの監視があります。
- サービス障害に直結する障害を検知し、即座に復旧できるようにするための監視
- 将来のサービス障害を予測、またはサービス障害時の原因調査をしやすくするための監視
前者は、プログラム存在監視/サービス応答監視(http応答やDB接続など)です。
後者は、OSが管理するリソースの監視 (CPU使用率、メモリ使用率、ディスク使用率など)/サービスの応答速度などが挙げられます。
監視設計のポイント
前章の通り、監視設計においては、「何のための監視であるか」の目的をしっかりと明確にすることが重要です。目的がはっきりしていないと、すべての監視とそれに伴う障害通知が同レベルで実施されてしまい、根本的な問題の発見ができない事態に陥るかもしれません。
監視対象や監視項目は多岐にわたります。一般的には組織の情シス部が担当しますが、情シス部の負担が大きくなってしまってリソースを割けない場合や、高レベルでの効率的な監視設計を行いたい場合は、専門業者に依頼するのもひとつの手段です。
以下の資料では、テクバンのサービスを利用して、監視の負担削減に成功した事例を紹介しています。ぜひ、ご参考ください。
【事例】柔軟なメニューで実現できた。24時間365日、有人リモート監視で情シスの負担軽減
適切な監視設計で、障害やエラーを防ごう
システム監視の必要性を踏まえた上で、監視設計の進め方やポイントを解説してきました。
安定したシステム提供できるか、ユーザーがサービスを満足に利用できているか、が組織の信頼性に直結します。
障害を事前に防ぐことも重要ですが、障害発生時の対応スピードと原因解決がなによりも求められます。適切な監視設計によりシステム監視を実施し、システムを担保することが、組織や人材を守り、そして組織の成長へとつながるのではないでしょうか。