このドキュメントでは、サポートされているCisco IOS® SNMPトラップの設定方法について説明します。
次の項目に関する知識があることが推奨されます。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
ドキュメント表記の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。
SNMPを使用する場合、過剰なトラフィックを防ぐために、シスコデバイスで有効にするトラップの数を制限することをお勧めします。たとえば、64本のダイヤルイン回線を持つリモートアクセスサーバーですべてのトラップを有効にすると、すべての接続および切断イベントでトラップが生成され、監視システムに急速に過大な負荷がかかることがあります。Cisco IOSソフトウェアでは、トラップの特定のグループを有効または無効に設定できます。これにより、トラップの量を効果的に管理できます。Cisco IOSソフトウェアデバイスにSNMPトラップを設定するには、次の2つのグローバル設定コマンドがあります。
snmp-server host host-addr [traps | informs] [version {1 | 2c | 3 [auth | noauth | priv]}]
community-string [udp-port port] [notification-type]
SNMP 通知処理の受信者を指定するには、snmp-server host グローバル設定コマンドを発行します。指定のホストを削除するには、このコマンドの no 形式を発行します。
snmp-server enable traps [notification-type] [notification-option]
ルータから SNMP トラップを送信できるようにするには、snmp-server enable traps グローバル設定コマンドを使用します。SNMP通知を送信しないようにするには、このコマンドのtheno形式を使用します。
トラップのタイプは、両方のコマンドで指定できます。トラップの送信先となるネットワーク管理システムを定義するには、snmp-server hostコマンドを発行する必要があります。すべてのトラップを送信しない場合は、トラップタイプを指定する必要があります。snmp host コマンドで使用したトラップの各タイプにつき、複数の snmp-server enable traps コマンドを発行します。
たとえば、Cisco IOS ソフトウェアデバイスが、設定、ボーダー ゲートウェイ プロトコル(BGP)、および tty トラップのみをネットワーク管理システム 10.10.10.10 に報告するようにするには、次のコマンドを発行します。
snmp-server host 10.10.10.10 public config bgp tty snmp-server enable traps config snmp-server enable traps bgp
標準のCisco IOSソフトウェアが稼働するCiscoデバイス(ルータ、非同期転送モード(ATM)スイッチ、リモートアクセスサーバ)は、多数のSNMPトラップを生成できます。
snmp-server-hostコマンドSNMP 通知処理の受信者を指定するには、snmp-server host グローバル設定コマンドを発行します。no formコマンドを発行して、指定のホストを削除します。
snmp-server host host-addr [traps | informs] [version {1 | 2c | 3 [auth | noauth | priv]}] community-string [udp-port port] [notification-type] no snmp-server host host [traps | informs]
host-addr |
ホスト(ターゲットの受信者)の名前またはインターネット アドレス。 |
traps |
(オプション)このホストにSNMPトラップを送信します。これがデフォルトです。 |
informs |
(オプション)このホストに SNMP インフォームを送信します。 |
version |
(オプション)トラップの送信に使用する SNMP バージョン。バージョン 3 は、priv キーワードによってパケットを暗号化できるため、最もセキュアなモデルです。バージョンのキーワードを使用する場合は、次のいずれか 1 つのオプションを指定する必要があります。
|
community-string |
通知処理で送られる、パスワードに似たコミュニティ ストリング。このストリングは、snmp-server host コマンドだけを使っても設定できますが、snmp-server host コマンドを使用する前に、snmp-server community コマンドでストリングを定義することを推奨します。 |
UDPポートポート |
使用するホストのUDP(User Datagram Protocol)ポート。デフォルトは162です。 |
| notification-type | (オプション)ホストに送信される通知のタイプ。タイプを指定しない場合、すべての通知が送信されます。通知タイプには、次のキーワードを 1 つ以上指定できます。
|
デフォルトでは、snmp-server hostコマンドは無効であり、通知は送信されません。
キーワードを付けずにこのコマンドを入力すると、デフォルトでは全トラップ タイプがホストに送信されます。
このホストには、インフォームは送信されません。バージョン キーワード がない場合、デフォルトはバージョン 1 になります。キーワードを指定せずにno snmp-server hostコマンドを使用すると、トラップは無効になりますが、ホストにインフォームは送信されません。インフォームを送信しないようにするには、no snmp-server host informs コマンドを発行します。
| Cisco IOS ソフトウェア リリース | 変更箇所 |
|---|---|
| 10.0 | コマンドが導入されました。 |
| 12.0(3)T | 次のキーワードが追加されました。
|
SNMP 通知は、トラップまたはインフォーム要求として送信できます。このデバイスでトラップが受信されても受信側は確認応答を送信しないので、トラップの信頼性は高くありません。送信側は、トラップが受信されたかどうかを判断できません。しかし、SNMP エンティティはインフォーム要求を受信すると、SNMP 応答 Protocol Data Unit(PDU; プロトコル データ ユニット)によって要求に応答します。 送信側が応答をまったく受け取っていなければ、インフォーム要求を再送信できます。このため、インフォームは、目的の宛先に到達できる可能性が高くなります。
ただし、インフォームは、エージェントやネットワークでより多くのリソースを消費します。トラップは、送信されると同時に破棄されますが、インフォーム要求の場合は、応答が受信されるか、要求時間がタイムアウトになるまでメモリ内に残る必要があります。トラップの送信回数は 1 回だけですが、インフォームは数回、繰り返し送信される場合があります。再送信の回数が増えるとトラフィックが増加し、ネットワークのオーバーヘッドが高くなる原因になります。
snmp-server host コマンドを入力しなければ、通知はまったく送信されません。SNMP 通知を送信するようにルータを設定するには、snmp-server host コマンドを少なくとも 1 回入力する必要があります。キーワードを付けずにコマンドを入力すると、すべてのトラップ タイプがホストで有効になります。複数のホストを有効にするには、各ホストに対して個別に snmp-server host コマンドを実行する必要があります。ホストごとに、コマンドで、複数の通知タイプを指定することができます。
同じホストと通知(トラップまたはインフォーム)に複数のsnmp-server hostコマンドを発行すると、コマンドを発行するたびに前のコマンドに上書きされます。最後の snmp-server host コマンドだけが有効です。たとえば、ホストに snmp-server host inform コマンドを入力してから、同じホストに別の snmp-server host inform コマンドを入力すると、2 番目のコマンドが最初のコマンドに置き換わります。
snmp-server host コマンドは snmp-server enable コマンドと組み合せて使用します。snmp-server enableコマンドを発行すると、グローバルに送信するSNMP通知を指定できます。最も多くの通知を受信するホストについては、少なくとも1つのsnmp-server enableコマンドとsnmp-server hostコマンドを有効にする必要があります。
しかし、snmp-server enable コマンドで制御できない通知タイプもあります。たとえば、一部の通知タイプは常に有効です。また、snmp-server enable 以外のコマンドで使用可能になる通知タイプもあります。たとえば、linkUpDown 通知は、snmp trap link-status コマンドにより制御されます。これらの通知タイプには、snmp-server enable コマンドを発行する必要はありません。
使用可能な通知タイプのオプションは、ルータのタイプおよびルータ上でサポートされる Cisco IOS ソフトウェア機能により異なります。たとえば、envmon 通知タイプは、環境モニタリングがシステムの一部となっている場合に限り使用可能です。
インフォームを送信するには、次の手順を実行します。
リモート エンジンの ID を設定する。
リモート ユーザを設定する。
リモート装置でグループを設定する。
リモート装置でトラップを使用可能にする。
SNMP マネージャを使用可能にする。
トラップに一意のSNMPコミュニティストリングを設定する際に、このストリングによるSNMPポーリングアクセスを防止するには、設定にアクセスリストを含める必要があります。次の例では、コミュニティストリングの名前にcomaccessを使用し、アクセスリストには10という番号を使用しています。
snmp-server community comaccess ro 10 snmp-server host 172.20.2.160 comaccess access-list 10 deny any
次の例では、名前 myhost.cisco.com で指定されたホストに SNMP トラップを送信します。コミュニティ ストリングを comaccess と定義しています。
snmp-server enable traps snmp-server host myhost.cisco.com comaccess snmp
次の例では、SNMP および Cisco Enterprise に固有の環境モニタリングのトラップをアドレス 172.30.2.160 に送信しています。
snmp-server enable traps snmp-server host 172.30.2.160 public snmp envmon
次の例では、ルータが、コミュニティ ストリングの public を使用して、ホストの myhost.cisco.com にすべてのトラップを送信できるようにします。
snmp-server enable traps snmp-server host myhost.cisco.com public
次の例では、どのホストにもトラップがまったく送信されません。BGPトラップはすべてのホストに対して有効ですが、ISDNトラップだけがホストに送信できます。
snmp-server enable traps bgp snmp-server host bob public isdn
次に、コミュニティストリング public を使用して、すべての inform リクエストをホスト myhost.cisco.com に送信するようにルータを有効にする例を示します。
snmp-server enable traps snmp-server host myhost.cisco.com informs version
次の例では、名前 myhost.cisco.com で指定されたホストに HSRP SNMPv2c トラップを送信します。コミュニティ ストリングを、public と定義しています。
snmp-server enable traps snmp-server host myhost.cisco.com traps version 2c public hsrp
snmp-server enable traps コマンドルータから SNMP トラップを送信できるようにするには、snmp-server enable traps グローバル設定コマンドを使用します。SNMP 通知を送信しないようにするには、このコマンドの n no 形式を使用します。
snmp-server enable traps [notification-type] [notification-option] no snmp-server enable traps [notification-type] [notification-option]
| notification-type | (オプション):使用可能な通知のタイプ。タイプを指定しない場合は、すべての通知が送信されます(envmonとrepeaternotificationsを含む)。 通知タイプは、次のキーワードのいずれかになります。
|
| notification-option | (オプション)
|
SNMP 通知は使用禁止です。
notification-type キーワードを指定せずにこのコマンドを入力すると、デフォルト設定により、このコマンドで制御できる全通知タイプが使用可能になります。
| Cisco IOS ソフトウェア リリース | 変更箇所 |
|---|---|
| 11.1 | このコマンドが導入されました。 |
| 12.0(2)T | rsvp キーワードが追加されました。 |
| 12.0(3)T | キーワードの hsrp が追加されました。 |
| 12.1(3)T | 次のキーワードが、このコマンドのnmp-server enable traps snmp形式に追加されています。
|
このコマンドの snmp-server enable traps snmp [linkup] [linkdown] 形式が、snmp trap link-status interface.設定モード コマンドを置き換えます。
snmp-server enable trapsコマンドのno形式が役立つのは、ネットワーク上で不必要な大量のノイズを生成する通知を使用禁止にする場合です。
SNMP 通知は、トラップまたはインフォーム要求として送信できます。このコマンドは、特定の通知タイプのトラップおよびインフォーム要求の両方を使用可能にします。
snmp-server enable traps コマンドを入力しないと、このコマンドで制御する通知はまったく送信されません。ルータがこれらのSNMP通知を送信するように設定するには、少なくとも1回はsnmp-server enable trapsコマンドを入力する必要があります。キーワードを指定せずにコマンドを入力すると、すべてのトラップ タイプが使用可能になります。キーワードを指定してコマンドを入力した場合は、そのキーワードに関連した通知タイプだけが使用可能になります。複数の通知タイプを使用可能にするには、通知タイプと通知オプションごとにsnmp-server enable trapsコマンドを個別に発行する必要があります。
snmp-server enable traps コマンドは、snmp-server host コマンドと組み合せて使用します。snmp-server host コマンドを発行すると、どのホストが SNMP 通知を受信するのかを指定できます。通知を送信するには、snmp-server hostコマンドを少なくとも1つ設定する必要があります。
このコマンドで制御する通知を受信するホストに対しては、snmp-server enable traps コマンドと snmp-server host コマンドの両方を使用可能にする必要があります。通知タイプがこのコマンドの制御対象外であるときは、適切な snmp-server host コマンドだけを使用可能にする必要があります。
snmp-server enable traps コマンドで使用する通知タイプにはすべて、対応する MIB オブジェクトが設定されており、そのオブジェクトによって通知タイプは使用可能または使用禁止となります(たとえば、HSRP トラップは、HSRP MIB によって、リピータ トラップの場合は、Repeater Hub MIB によってそれぞれ定義されます)。 ただし、snmp-server hostコマンドに使用可能なすべての通知タイプにnotificationEnable MIBオブジェクトが設定されているとは限らないため、snmp-server enableコマンドによって制御できない通知タイプがあります。
| 改定 | 発行日 | コメント |
|---|---|---|
4.0 |
01-Jun-2026
|
スペル、文法、文の構造などを更新 |
3.0 |
18-Dec-2023
|
再認定 |
1.0 |
10-Dec-2001
|
初版 |