第2回 現在版サーバ運用の隠れた“モニタリング事情”SNMPによるネットワークモニタリング「第2版」(2/2 ページ)

» 2007年05月11日 08時00分 公開
[大澤文孝,ITmedia]
前のページへ 1|2       

 実際にSNMPを運用する場面では、SNMPエージェントやSNMPマネージャ側で、管理対象となるIPアドレス範囲を制限し、不正なホストからSNMPによる操作ができないようにする必要があるのだ。

 SNMPのセキュリティ設定については、追ってNet-SNMPのインストール解説の際に説明する予定だ。セキュリティに関する設定をしないまま、SNMPを有効にして放置してしまうのは極めて危険だ。これがセキュリティに関する前提知識の1つである。

SNMPを使うためには

 ここまで説明してきたように、SNMPは、「SNMPエージェント」と「SNMPマネージャ」の組み合わせで動作する。

 なお、本連載では、代表的なオープンソースのSNMPツールを使い、SNMPを使ったサーバ管理を目指していく。この連載では次の図に示す構成を考えている。

 次に挙げる図4では、「監視対象サーバ」と「監視統括サーバ」が別のサーバであるように示している。しかし、1台のサーバに「SNMPエージェント」と「SNMPマネージャ」の両方をインストールし、「自己管理」するよう構成してもかまわない。1台のみの構成では、サーバを監視するという目的にはそぐわないかもしれない。しかし、ネットワークトラフィックやサーバ負荷の統計を蓄積したいといった用途では、1台であるケースもあるだろう。

図4■SNMPを使ったサーバ管理例。Net-SNMPだけでも基本的な操作ができるが、“フロントエンド”ツールがないと、視覚的に見ることができないのだ

Net-SNMP

 図4から分かるように、本連載で主役となるのが、Unix系のサーバにインストールできる「Net-SNMP」と呼ばれるオープンソースのパッケージだ。

 Net-SNMPには、SNMPエージェントとなる「snmpdコマンド」、そして、SNMPマネージャのコマンドとして機能する「snmpget」や「snmpset」といったコマンドが含まれている。

 また、各種プログラムからSNMP管理するためのライブラリも含まれており、PHPやPerl、C言語などからSNMP操作するプログラム(フロントエンドを含む)を作ることも可能だ。さらには、SNMPトラップを受け取るための「snmptrapd」も含まれている。

 詳細は次回以降に説明するが、snmptrapdでは、SNMPトラップを受け取ったときに外部コマンドを実行するように仕込むことができる。この仕組みを使えば、例えば、SNMPトラップを受け取ったときにmailコマンドを実行して、管理者にメールで異常を伝えるように設定することができるのだ。この仕組みを構築しておけば、いちいちシェルログインで確認する手間が軽減できるだろう。

フロントエンドツールとは

 Net-SNMPで提供されるSNMPエージェント側のツールは、基本的にコマンドラインベースのツールだ。

 例えば、snmpgetコマンドを使うと、「サーバ上で送信または受信された累計パケット数」を得ることができるが、単純に、パケット数が文字列としてコマンドライン上に表示されるだけである。

 これでは日常は使いづらいものになってしまう。このため、定期的に「snmpgetコマンドを実行する」もしくは「Net-SNMPライブラリ内の関数を呼び出す」などを自動化し、統計情報を貯めていく必要がある。これをさらに進めると、グラフとして表示するなど視覚化することで管理状況を分かりやすくするのが一般的だ。

 言い換えると、より管理しやすくするために、Net-SNMPと何らかのフロントエンドツールを組み合わせて使うことになる。

 SNMPを使って統計情報をグラフ化するツールの代表的なものとして挙げられるのが「MRTG」(関連リンク)や「RRDTool」(関連リンク)である。この連載では、これらのフロントエンドツールの使い方も包括して説明していく予定だ。

 次回3回目は、Net-SNMPをインストールして、サーバを管理するための具体的な方法を示していこう。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ