正しいシステム運用のための監視要件定義
前回までの内容で、運用のあり方が見えてきたところで、より技術的な内容について、話を具体化していこう。
システム運用において、どのようなシステムでも必ず必要になってくるのが、「監視」である。監視が何のために必要かというと、それは、システムのサービス継続性を維持するためである。ここでは、必ず必要となる監視の要件定義に、焦点を当てて見ていく。
システムに適した監視を成功させるためのカギは、サービス継続性とは何であるかを考え、数ある監視ポイントの中で、どのようにシステムに適合した監視項目を策定するか、である。以降では、システムで必ず必要となる監視項目の定義を、どのように進めれば21世紀型の運用を実現できるかについて説明する。
サービスの監視とインフラの監視
一般的なシステム監視の項目は、多岐にわたって存在する。一例として、‘abc.com’というサービスを提供するサーバー群を図に示す。図1はシステムの全体像で、図2は‘abc.com’というサービスを提供する最低限の要素を抜き出したものになる。
図3-5は、Webサーバーはweb1、web2で、DBサーバーはdb1で構成されたシステムであり、それぞれのサーバーがおのおのhttpdやmysqldなど、abc.comというサービスを稼働させるためのプロセスを稼働させている。また、サーバー内部ではハードウェアが正常に稼働しており、リソースの利用状態にも問題がないものとする。
システムの監視については、「サービスの監視」「インフラの監視」の2種類に区分できる。それぞれの相違については、次の通りである。
- サービスの監視エンドユーザーが到達できるサービスの正常性を確認し続けるこ と。
- インフラの監視サービスを提供するサーバーやネットワーク機器など、サービス 提供に必要な要素の稼働状況を確認し続けること。
例えばabc.comという、とある商品販売サービスを提供するシステムを監視する場合、http://abc.comへの定期的なアクセス、定期的な商品購入、キャンセル、返品処理などが正常に実行できるかどうかをモニタリングする。これが「サービスの監視」にあたる。
一方、abc.comを表示するためのサーバー内部の状況、例えばロードアベレージ(付加平均)の状況、httpdのプロセス存在確認、ネットワーク機器の稼働確認などは「インフラの監視」と分類できる。
「サービスの監視」とは、言い換えれば、ユーザー目線での監視である。
最低限、この「サービスの監視」を実施していれば、サービス継続性の監視は実施できていると定義できる。