はじめに
ネットワーク機器やサーバーの稼働状況を把握し、安定したシステム運用を維持するための標準的な通信プロトコルが「 SNMP (Simple Network Management Protocol)」です。
本記事では、 SNMP の基本的な仕組みや重要用語(マネージャー、エージェント、 MIB 、 Trap )の解説から、実際の現場でどのように活用されているのか、そして Cisco ルーターを用いた具体的な設定手順までを客観的な視点で解説します。
- SNMP の基本構造(マネージャーとエージェント)と仕組み
- MRTG や WMI など関連技術との違いと活用メリット
- Cisco ルーターにおける SNMP エージェント設定(
snmp-server community) - Linux 環境からの動作確認手法(
snmpwalk、snmptrapd)
SNMP とは?ネットワーク監視を支える基本の仕組み
SNMP は、メーカーの異なるネットワーク機器やサーバーを共通の規格で監視するために設計されたプロトコルです。その仕組みは、大きく分けて 3 つの要素で構成されています。
SNMP マネージャーとエージェントの役割
SNMP による監視は、情報を収集する側と提供する側の 2 つのコンポーネントによって成り立っています。
- SNMP マネージャー
-
ネットワーク上の機器の情報を一元的に収集し、管理・監視を行うサーバーのことです。( Zabbix などの監視ソフトウェアがこれに該当します)
- SNMP エージェント
-
ルーター、スイッチ、サーバーなどの監視対象機器内で動作し、自身の稼働状況( CPU 使用率、トラフィック量など)をマネージャーに提供するプログラムです。
状態を取得する「ポーリング」と、異常を通知する「トラップ(Trap)」
マネージャーとエージェント間の通信には、用途に応じた 2 つの方式が存在します。
- ポーリング(Polling)
-
マネージャーからエージェントに対して、定期的に「現在の状態はどうですか?」と問い合わせて情報を取得する方式です。通信には UDP の 161 番ポートを使用します。
- トラップ (Trap)
-
インターフェースのダウンや機器の再起動など、予期せぬイベントや異常が発生した際に、エージェント側から自発的にマネージャーへアラートを通知する方式です。通信には UDP の 162 番ポートを使用します。
監視項目を定義する MIB と OID の概念
エージェントが保持している機器のステータス情報(通信量、温度、稼働時間など)は、ツリー状の階層構造を持つデータベースとして整理されています。これを MIB(Management Information Base)と呼びます。
この MIB の中にある無数の情報に対し、それぞれを一意に特定するための識別番号が OID(Object Identifier)です。マネージャーは、特定の OID を指定してエージェントに要求を送ることで、欲しい情報をピンポイントで取得(ポーリング)しています。

SNMP を活用するメリットと関連技術の比較
ネットワーク機器やサーバーの監視において、 SNMP はデファクトスタンダードとして広く利用されています。ここでは、その利点と、関連する監視技術との使い分けについて解説します。
MRTG などのツールを用いたリソースやトラフィックの可視化
SNMP の最大のメリットは、ベンダー(メーカー)を問わず統一された規格でネットワーク機器から情報を取得できる点です。取得したデータを蓄積・グラフ化することで、システムの利用状況を視覚的に把握できるようになります。
古くから利用されているトラフィック監視ツールの代表例が MRTG(Multi Router Traffic Grapher)です。 MRTG は SNMP を用いてルーターやスイッチから定期的に通信量(トラフィック)を取得し、 Web ブラウザ上で閲覧可能なグラフを生成します。現在では Zabbix などの統合監視ツールが主流となっていますが、 SNMP を介して「見えない通信状態を可視化する」というインフラ運用の基礎的な役割は変わっていません。
Windows 環境における監視手法(WMI と SNMP の違いと使い分け)
サーバー監視の文脈において、対象が Windows サーバーの場合、 WMI(Windows Management Instrumentation)と SNMP のどちらを採用すべきかという技術選定が発生します。
SNMP は OS を問わず利用できる汎用性が強みですが、 Windows 固有の詳細なプロセスの状態やイベントログの取得には限界があります。一方、 WMI は Microsoft 独自の管理機能であり、 Windows 環境の深層データ(CPU コアごとの詳細な負荷や特定サービスのステータスなど)を豊富に取得できます。
実務においては、「ネットワーク機器や Linux サーバーを含めて一元的に監視・管理する場合は SNMP」「 Windows サーバー単体の深いパフォーマンス分析が必要な場合は WMI」といった要件に基づく使い分けが推奨されます。
【実践】 Cisco ルーターにおける SNMP エージェント設定
SNMP の仕組みを理解した上で、実際のネットワーク機器(本例では Cisco C891FJ ルーター)を SNMP エージェントとして機能させるための最低限の設定手順を解説します。
snmp-server community コマンドを用いた基本設定
まず、 SNMP マネージャーからのアクセスを許可するための「コミュニティ名(パスワードのような役割を果たす文字列)」を設定します。設定モード(conf t)に移行し、以下のコマンドを実行します。
# 読み取り専用 (RO) 権限でコミュニティ名を "public" に設定する場合
Router(config)# snmp-server community public ROセキュリティの観点から、単なる監視用途であれば RO (Read-Only)を指定することが運用上のベストプラクティスです。また、public はデフォルトでよく使われる文字列ですが、本番環境では推測されにくい独自の文字列に変更して運用してください。
トラップ送信先(SNMP マネージャー)の指定と有効化
次に、ルーター側に異常が発生した際、どのサーバー(SNMP マネージャー)へ自発的に Trap を送信するかを指定し、 Trap 機能を有効化します。
# 全ての SNMP Trap の送信を有効化
Router(config)# snmp-server enable traps
# Trap の送信先 IP アドレスと、使用するバージョン・コミュニティ名を指定
Router(config)# snmp-server host 192.168.1.100 version 2c publicこれらの設定を投入し、特権 EXEC モードに戻って show snmp コマンドでステータスを確認することで、 Cisco ルーターが SNMP エージェントとして情報を送受信する準備が整います。
SNMP マネージャー(Linux )側での動作確認
ネットワーク機器(エージェント)側の設定が完了したら、 SNMP マネージャーとなる Linux サーバー側から、正しく通信ができているか(MIB 情報の取得と Trap の受信)を確認します。
snmpwalk コマンドによる MIB 情報の取得テスト
マネージャー側からエージェントに対してポーリングを行い、MIB ツリーの情報を一括取得できるかテストします。 Linux 環境では net-snmp-utils パッケージなどに含まれる snmpwalk コマンドを使用します。
# バージョン 2c、コミュニティ名 "public" で対象の IP アドレスにポーリングを実行
$ snmpwalk -v 2c -c public 192.168.1.254コマンド実行後、エージェント(ルーター)のシステム情報やインターフェースのステータスなどが画面に大量に出力されれば、 SNMP プロトコルを介した情報の取得(UDP 161 番ポートの通信)は成功しています。
snmptrapd を用いた Trap の受信確認
次に、エージェント側から自発的に送信される Trap(UDP 162 番ポートの通信)を、マネージャー側が正しく受信できているかを確認します。 Linux 側で snmptrapd サービスを起動し、ログを監視します。
# メッセージログの末尾をリアルタイムで監視
$ sudo tail -f /var/log/messagesこの状態で、対象の Cisco ルーターにログインして設定変更(conf t コマンドの実行やインターフェースの shutdown など)を行うと、ルーターから Trap が送信されます。 Linux 側のログファイルに snmptrapd 経由での通知メッセージ(ルーターの IP アドレスや発生したイベントの OID 情報など)が記録されれば、異常検知の仕組みが正常に機能していることが確認できます。
まとめ
本記事では、SNMP の基本的な仕組みや関連技術との違い、 Cisco ルーターを用いた具体的な設定・確認手順について解説しました。
- SNMP は機器の稼働状況を監視するための標準プロトコルであり、マネージャーとエージェントで構成される。
- ポーリングによる定期的な情報収集と、トラップ(Trap)による異常の自発的な通知を組み合わせて監視を行う。
- MRTG や WMI などの関連技術と、それぞれの要件に合わせて適切に使い分けることが重要である。
- Cisco ルーターでは snmp-server community コマンド等を用い、セキュリティを意識した設定を行う。
以上、最後までお読みいただきありがとうございました。
