24×365のシステム監視を実現するツール群:24×365のシステム管理(3)
システムの安定稼働を実現するためには、常日ごろの管理体制が重要になってきます。今回は、人手を極力かけず、24×365のシステム管理を実現するのに必要なツール群の紹介をします。本文を読み進めるための基礎知識として、「連載:24×365のシステム管理 第1回 運用管理に必須のツール/コマンド群/第2回 Webサーバの障害をいかに切り分けるか」もぜひご一読いただければと思います。(編集局)
前回は、Webサーバを例に、システムの運用・監視の概要に触れたが、実際の運用・監視の詳細を解説する前に、システム監視ツールについて言及したいと思う。24時間365日、常にシステムを監視し続けるには、自動的にシステムの情報を収集し、障害を検知して通知する信頼性の高いシステム監視ツールが不可欠である。
システム監視ツールの意義
信頼性の高いネットワークシステムを維持するためには、常にシステムの稼働状況を把握する必要がある。システムの稼働状況を確認する手段として最も手軽なのは、管理者やオペレータが手動でコマンドを実行して結果を確認する方法である。しかし、24時間365日、数分おきにコマンドを実行することは、人件費などのコスト面から事実上不可能な方法といえるだろう。
次に考えられる手段として、特定のコマンドを一定間隔で実行するスクリプトなどを記述する方法がある。もちろん、コマンドの実行結果を特定の“しきい値”と比較し、問題発生時に管理者に通知する手段も必要となる。この方法で多くの監視を自動化することが可能になるが、システムの規模が大きくなり、監視しなければならない項目が増えると、スクリプトなどの開発コストも増大する。
そこで、実質的な解決手段として、「システム監視ツール」の導入が挙げられる。かなり以前からシステム監視は、管理者にとって常に頭を悩ませる問題であったため、必要に迫られて多くのシステム監視ツールが開発されてきた。その中には大手ベンダが提供する高価なツールもあれば、オープン・ソースによるフリーのツールもある。管理者はシステム監視する作業をツールで自動化し、常にシステムの状態を把握することが可能になる。また、システムの障害発生を検知した場合の対応を事前に決めておくことで、速やかに障害に対処できる。
余談ではあるが、システム規模が大きくなり監視ポイントも複雑になると、システム監視自体のコストも高いものとなる。そのため、筆者が所属するネットベインのようなMSPにシステムの監視・運用をアウトソースするケースも確実に増えている。
監視ポイントとシステム監視ツール
システム監視ツールには、その規模や用途によってさまざまなものが挙げられる。監視対象に特化されたツールが多く、ツールの選択は監視ポイントと予算によって選択肢を絞り込んでいくことになる。非常に信頼性の高いシステムが理想ではあるが、信頼性の確保には管理コストという現実問題が必ず付いてまわる。監視などの管理コストが、システムが稼働することで得られる利益を超えるわけにはいかない。管理コストには、障害検知後のオペレータなどの人的コストも含まれる。そのため、システム監視ツールを選択する前に、監視対象機器の用途などから、何を監視して障害検知時にどのような対処をするのかを明確にして、監視するポイントを決めていく。
●監視ポイント
システムの監視ポイントには、次のようなものが挙げられる。これらの監視ポイントの詳細については、本連載の第1回目で監視メニューの例として触れているため、ここでは割愛させていただく。
- pingによる死活監視
- ポート接続による稼働監視
- システムリソース監視
- プロセス監視
- ログ監視
このうち「pingによる死活監視」と「ポート接続による稼働監視」は、リモートから監視可能なポイントである。pingまたはポートの監視を定期的に実行(ポーリング)し、一定回数以上疎通が確認されない場合には障害と判断して、その旨をオペレータまたは管理者に通知するのである。
それ以外の監視ポイントについては、大きく分けて2種類の監視方法がある。1つはtelnetなどでリモートから監視対象にloginしてコマンドを実行する方法で、監視や運用の自由度は高い。しかし、この方法は、明らかにセキュリティ上問題がある。だがネットベインでは、あえてtelnet経由でのリモート監視も提供している。より顧客のシステムへの監視・運用サービスをきめ細かく提供するために、インターネットから完全に分離した監視専用の回線を新たに敷設する。もし、専用の監視回線が用意できるのであれば、このようなリモート監視を考慮するのもいいだろう。しかし、その環境を維持し続けることは、非常に困難であるのも事実である。
もう1つは、監視対象に「監視エージェント」と呼ばれるソフトウェアを導入する方法で、主にSNMPと呼ばれるプロトコルを使用する。監視エージェントは常にシステムの状態を監視し、障害の発生を検知するとシステム監視ツールへ通知する(トラップをあげる)のである。また、SNMPによるシステム管理は、システム監視ツールから監視エージェントに対して、システムの情報を返信するように要求することも可能である。
●何が知りたいのか
監視ポイントからシステム監視ツールを選定するには、監視対象機器が何を目的としているのかをはっきりさせる必要がある。Webサーバを例に取れば、サービスが稼働しているかどうかが重要な問題である。この時点である程度必要な監視ポイントが絞り込まれる。次にどのレイヤで障害を検知したいのかを検討する。本連載の第2回目を読んでいただければ分かるとおり、障害はさまざまなレイヤで発生する。どのレベルで監視するかは、そのサーバの重要度に左右される。つまり、実際にサービスを利用してのHTTP稼働監視、ポート80の監視、pingによる死活監視の、どのレベルの監視を実行するかということである。当然上位のレイヤになるほど、障害と判断される状況は多くなる。
障害をどこまで通知するかも問題である。障害を通知しても、担当者が即時に対応できなければ通知の意味はない。それよりも、障害のデータを保存して、中長期的にシステムの改善を考えた方がいい場合も多い。しかし、顧客にサービスを提供するサーバであったり、あるいはサービスに直結する非常に重要なサーバの場合には、悠長に構えるわけにはいかない。たとえ夜中であっても、障害対応をする必要があるだろう。
●システム監視ツールの選定
監視ポイントと通知してほしい情報が決定したら、次にその監視を実現可能なシステム監視ツールを選択する。市販のシステム監視ツールは価格にも大きく差があるため、予算も十分に検討しなければならない。もちろん、すべてをフリーのツールでまかなうことも可能だが、やはりサポートなどの面から市販ツールの方が選択の幅が広い。
また、ツールを扱う可能性のある人員のスキルも十分に考慮する必要がある。最近ではWebベースのインターフェイスで操作も比較的容易なものが多いが、フリーのツールの多くはドキュメントなども含めて英語である。実際に導入する前に、運用に問題がないかを確認しておくことが重要である。
どのようなシステム監視ツールがあるか
では、いよいよシステム監視ツールとして、具体的なツールを紹介しよう。今回紹介するシステム監視ツールの多くは、フリーまたは比較的安価なものを中心に、インターネットなどから容易に入手可能なものを多く選択した。これは、より多くの管理者にシステム監視ツールの存在を知ってもらいたいためだが、実際にはさまざまなベンダや団体がシステム監視ツールをリリースしている。
●NetSaint
Linux系プラットフォームで動作するシステム監視ツールで、GNU General Public Licenseの下、無償で配布されている。基本的にはICMP/TCPをベースにしたリモート監視用のツールで、問題を検知するとメールやページャなどに通知する。問題が解決した場合にも、同様に通知することができる点はユニークである。
NetSaintでは、基本的な操作にはWebブラウザを利用する。そのため、現在のネットワーク状況、通知および問題の履歴、ログ・ファイルなどのデータのほか、設定の変更/閲覧などの操作も非常に分かりやすい。プラグインという形での機能拡張が可能で、ユーザーが独自にプラグインを作成することも可能。また、現在さまざまな団体がNetSain用のプラグインを開発/配布している。
●MRTG(Multi Router Traffic Grapher)
MRTGはGNU General Public Licenseの下、無償で配布されているツールである。SNMPを使ってネットワークの稼働状況を監視し、ネットワーク・トラフィックのほか、2系列のデータを集計したトレンド(短期/中期/長期)をGIFイメージのグラフ・データを含むWebデータとして作成する。MRTGの取得したトレンド・データは長期間保存することができないため、データの保存には別のツールを利用する必要がある。また、MRTGは独自にSNMP機能を実装しているため、別途SNMPパッケージを用意する必要がない。
MRTGはグラフ・ツールであり、厳密にはシステム監視ツールではない。そのため、障害を通知するといった機能は搭載されていない。しかし、トレンド・データの確認用に広く利用されているため、監視ツールの一部としてMRTGを利用することも多い。
●RRD Tools
MRTGの後継プロダクトで、「Round Robin Database Tools」というのが正式名称である。グラフ作成とデータベース管理ツールに特化しているため、MRTGよりもより詳細で柔軟なグラフを作成することができる。ただし、RRD Tools単体でWeb表示することはできないため、Remstatなど、ほかのツールと組み合わせて使用する必要がある。
●BigBrother
フリーのシステム監視ツールの中では、老舗といえるのがBigBrotherである。リモート監視を基本にしたツールだが、プローブを使って監視対象のSNMPエージェントから、CPU、プロセス、ディスクなどの稼働状況を確認することも可能である。Webベースのインターフェイスで設定や操作が分かりやすいのも特徴の1つである。また、Windowsの監視エージェントを利用することで、Windows NT系のシステムのリソースを監視することもできる。
●ipMonitor
同じ名前の監視ツールが複数存在するが、個人的に推奨したいのは、DeepMetrix社の提供する市販ツール「ipMonitor」である。600ドルと比較的安価でありながら、サポートする監視項目は非常に多岐にわたっている。リモートからの監視やSNMPを利用したエージェントによる監視の両方をサポートし、監視できるポイントは40種類以上ある。例えば、Webの稼働監視であれば、通常のサービス稼働監視に加え、ダウンロードしたページをコンペアして、不正に改ざんされていないかなどをチェックできる。また、Windowsの監視もサポートしているため、一部のWindows独自の機能を監視することもできる。
ipMonitorはDeepMetrix社のサイトから60日間の試用版(機能的制約はない)をダウンロードできる。ライセンスはインストールした機器ごとなので、監視サーバが1台であれば必要なライセンスも1つで済む。
●SiteScope
Freshwater Software社が提供するシステム監視ツールである。telnetを利用して監視対象機器にログインしてコマンドを実行することができるため、監視対象機器に監視エージェントを導入する必要がない。また、HTTPやFTPのサービスの稼働監視では、実際にそのサービスをクライアントとして実行し、稼働を確認することができる。また、システム監視以外にも、簡単な障害であれば、自動的に障害対応を実行することも可能である。Webベースのインターフェイスで操作も分かりやすく、リモートからSiteScopeにアクセスして、現在のシステム状況を把握することもできる。SiteScopeの試用版は、国内の代理店であるアズジェントのサイトからダウンロードできる。ライセンスは1監視ごとに1つ必要。
●Windows系プラットフォームの監視
忘れてはならない事柄として、Windows NT系プラットフォームの監視がある。例えばWindows NT系のプラットフォームでは、ログはテキストではなくイベントビューアで参照する必要がある。そのため、通常のシステム監視ツールではログ内容をチェックすることはできない。しかし、Windows対応(特にWindows独自の機能対応)のツールは、UNIX系プラットフォームと比較して非常に少なく価格も高く設定されている。
しかし、価格は高いものの、非常に有効なWindows監視ツールとして挙げられるのは、NetIQ社のAppManagerである。Microsoftともアライアンスを組んでおり、今後ますます機能が充実することが予想される。また、AppManagerには日本語版があることも非常に評価できる要因の1つである。
今回は、フリーや低価格のシステム監視ツールを中心に、その役割や特徴について解説した。次回は実際にこれらの監視ツールを使ったシステム監視の方法を詳細に解説する予定だ。
Copyright © ITmedia, Inc. All Rights Reserved.