SNMPトラップ
SNMPトラップの設定
トラップは、SNMP エージェントからリモートネットワーク管理システムまたはトラップ受信者に送信される未承認メッセージです。企業は、システム ログに加えて、障害監視ソリューションの一部として SNMP トラップを使用します。Junos OSでは、SNMPトラップを使用したい場合は、トラップグループを設定する必要があります。
1つ以上のSNMPトラップタイプのグループを作成し、名前を付け、SNMPトラップのグループを受信するシステムを定義することができます。トラップグループの名前は、コミュニティ名と呼ばれる1つの可変バインディング(varbind)としてSNMPトラップ通知パケットに組み込まれます。
SNMPトラップを設定するには:
SNMPトラップオプションを設定する
SNMP トラップ オプションを使用して、発信インターフェイスに関わらず、ルーターが送信したすべての SNMP トラップの送信元アドレスを単一アドレスに設定できます。さらに、SNMPv1 トラップのエージェント アドレスを設定できます。SNMPv1トラップのコンテンツについては、RFC 1157をご覧ください。
SNMPはマスタルーティングインスタンスのみと関連付けることができます。
SNMPトラップオプションを設定するには、trap-optionsを参照してください。
また、トラップオプションを有効にするには、トラップグループを設定する必要があります。トラップグループについては、SNMPトラップグループを設定するを参照してください。
このトピックには、以下のセクションが含まれています。
SNMPトラップのソースアドレスを設定する
トラップ パケットの送信元アドレスは、lo0、ルーターインターフェイスの1つに設定された有効なIPv4アドレスまたはIPv6 アドレス、論理システム アドレス、またはルーティングインスタンスのアドレスなどの複数の方法で設定できます。値 lo0 は、SNMP トラップ パケットの送信元アドレスがインターフェイス lo0 上で設定された最低のループバック アドレスに設定されていることを示しています。
SNMPトラップは、ソースアドレスが有効なIPv4またはIPv6アドレスであるか、設定されている場合にのみ生成できます。
トラップ パケットの送信元アドレスを以下の形式のいずれかで設定できます。
ルーター インターフェイスの 1 つに設定された有効な IPv4 アドレス
ルーター インターフェイスの 1 つで設定された有効な IPv6 アドレス
lo0
; つまり、インターフェイス lo0 上で設定された最低のループバック アドレス論理システム名
ルーティングインスタンス名
送信元アドレスとして有効なIPv4アドレス
ルーター インターフェイスの 1 つの SNMP トラップの送信元アドレスとして有効な IPv4 インターフェイス アドレスを指定するには、 階[edit snmp trap-options]
層レベルに ステートsource-address
メントを含めます。
[edit snmp trap-options] source-address address;
address
は、ルーター インターフェイスの 1 つで設定された有効な IPv4 アドレスです。
送信元アドレスとして有効な IPv6 アドレス
ルーター インターフェイスの 1 つの SNMP トラップの送信元アドレスとして有効な IPv6 インターフェイス アドレスを指定するには、 階[edit snmp trap-options]
層レベルに ステートsource-address
メントを含めます。
[edit snmp trap-options] source-address address;
address
は、ルーター インターフェイスの 1 つで設定された有効な IPv6 アドレスです。
送信元アドレスとして最低のループバック アドレス
インターフェイス lo0 上で設定された最低のループバック アドレスを送信元アドレスとして使用するようにSNMP トラップの送信元アドレスを指定するには、 階[edit snmp trap-options]
層レベルに ステートsource-address
メントを含めます。
[edit snmp trap-options] source-address lo0;
ループバック アドレスを有効にして設定するには、 階[edit interfaces lo0 unit 0 family inet]
層レベルに ステートaddress
メントを含めます。
[edit interfaces] lo0 { unit 0 { family inet { address ip-address; } } }
トラップ パケットの送信元アドレスとしてループバック アドレスを設定するには:
[edit snmp] trap-options { source-address lo0; } trap-group "urgent-dispatcher" { version v2; categories link startup; targets { 192.168.10.22; 172.17.1.2; } } [edit interfaces] lo0 { unit 0 { family inet { address 10.0.0.1/32; address 127.0.0.1/32; } } }
この例では、IP アドレス 10.0.0.1 はルーターから送信されたすべてのトラップの送信元アドレスです。
送信元アドレスとしての論理システム名
SNMP トラップの送信元アドレスとして論理システム名を指定するには、 階[edit snmp trap-options]
層レベルに ステートlogical-system logical-system-name
メントを含めます。
例えば、以下の設定は、SNMP トラップの送信元アドレスとして論理システム名 ls1
を設定します。
[edit snmp] trap-options{ logical-system ls1; }
送信元アドレスとしてのルーティング インスタンス名
SNMPトラップの送信元アドレスとしてルーティングインスタンス名を指定するには、 階[edit snmp trap-options]
層レベルに ステートrouting-instance routing-instance-name
メントを含めます。
例えば、以下の設定は、SNMP トラップの送信元アドレスri1
としてルーティング インスタンスナ を設定します。
[edit snmp] trap-options { routing-instance ri1; }
SNMPトラップ用のエージェントアドレスを設定する
エージェント アドレスは、SNMPv1 トラップ パケットでのみ使用できます(RFC 1157 参照)。デフォルトでは、ルーターのデフォルトローカルアドレスは SNMPv1トラップのエージェントアドレスフィールドで指定されません。エージェントアドレスを設定するには、 階[edit snmp trap-options]
層レベルに ステートagent-address
メントを含めます。現在、エージェント アドレスは、発信インターフェイスのアドレスのみです。
[edit snmp] trap-options { agent-address outgoing-interface; }
発信インターフェイスをエージェントアドレスとして設定するには
[edit snmp] trap-options { agent-address outgoing-interface; } trap-group “ urgent-dispatcher” { version v1; categories link startup; targets { 192.168.10.22; 172.17.1.2; } }
この例では、送信された各 SNMPv1 トラップ パケットのエージェント アドレス値が発信インターフェイスの IP アドレスに設定されています。
標準SNMPトラップにsnmpTrapEnterpriseオブジェクト識別子を追加する
snmpTrapEnterprise オブジェクトは、トラップを定義したエンタープライズの特定に役立ちます。通常、snmpTrapEnterprise オブジェクトは、エンタープライズ固有のSNMPバージョン2トラップの最後の varbind として表示されます。しかし、リリース 10.0 以降の Junos OS では、標準 SNMPトラップにsnmpTrapEnterprise オブジェクト識別子を追加できます。
標準トラップに snmpTrapEnterprise を追加するには、 階[edit snmp trap-options]
層レベルに ステートenterprise-oid
メントを含めます。ステートenterprise-oid
メントが設定に含まれていない場合、snmpTrapEnterprise はエンタープライズ固有のトラップにのみ追加されます。
[edit snmp] trap-options { enterprise-oid; }
SNMPトラップグループを設定する
1つ以上のSNMPトラップタイプのグループを作成し、名前を付け、SNMPトラップのグループを受信するシステムを定義することができます。SNMP トラップを送信するトラップ グループを設定する必要があります。SNMPトラップグループを作成するには、trap-groupを参照してください。
定義するトラップグループごとに、target
のステートメントをインクルードし、トラップグループにSNMPトラップの受信者として少なくとも1つのシステムを指定する必要があります。ホスト名ではなく、各受信者のIPv4またはIPv6アドレスを指定します。
トラップグループがで受信できるトラップタイプを、categories
ステートメントで指定します。トラップが属するカテゴリについては、Junos OS がサポートする標準 SNMP トラップとJunos OSトピックでサポートされるエンタープライズ固有のSNMPトラップを参照してください。
routing-instance
ステートメントで、トラップグループが使用するルーティングインスタンスを指定します。トラップグループで設定されたターゲットはすべて、このルーティングインスタンスを使用します。
トラップグループは以下のカテゴリーを受信できます。
authentication
—認証エラーchassis
—シャーシまたは環境通知chassis-cluster
—クラスタリング通知configuration
—設定通知link
—リンク関連通知(アップダウン遷移、DS-3およびDS-1ラインステータスの変更、IPv6インターフェイスの状態の変更、および受動的な監視PICオーバーロード)注:受動的な監視PICオーバーロードインターフェイストラップを送信するには、
link
のトラップカテゴリを選択します。otn-alarms
—OTNアラームトラップサブカテゴリーremote-operations
—リモート操作通知rmon-alarm
ーRMONイベントのアラームrouting
—ルーティングプロトコル通知services
ー回線ダウンまたはアップ、接続ダウンまたはアップ、CPU超過、アラーム、ステータス変更などのサービス通知sonet-alarms
—SONET/SDHアラーム注:SONET/SDHサブカテゴリを除外すると、SONET/SDHトラップアラームタイプがすべてトラップ通知に含まれます。
loss-of-light
—光損失のアラーム通知pll-lock
—PLLロックのアラーム通知loss-of-frame
—フレーム損失のアラーム通知loss-of-signal
—信号損失のアラーム通知severely-errored-frame
—重大エラーフレームのアラーム通知line-ais
—回線アラーム表示信号(AIS)のアラーム通知path-ais
—パスAISのアラーム通知loss-of-pointer
—ポインタ損失のアラーム通知ber-defect
—SONET/SDHビット誤り率のアラーム障害通知ber-fault
—SONET/SDH誤り率のアラーム障害通知line-remote-defect-indication
—回線リモート障害を示すアラーム通知path-remote-defect-indication
—パスリモート障害検出のアラーム通知remote-error-indication
—リモートエラー検出のアラーム通知unequipped
—未搭載のアラーム通知path-mismatch
—パス不一致のアラーム通知loss-of-cell
—セル同期損失のアラーム通知vt-ais
—仮想トリビュタリ(VT)AISのアラーム通知vt-loss-of-pointer
—ポインターVT損失のアラーム通知vt-remote-defect-indication
—VTリモート障害検出のアラーム通知vt-unequipped
—VT未搭載のアラーム通知vt-label-mismatch
—VTラベル不一致のエラー通知vt-loss-of-cell
—セル同期VT損失の通知
startup
—システムのウォームスタートおよびコールドスタートtiming-events
—タイミングイベントと障害通知vrrp-events
新しいプライマリや認証の障害などのVRRP(仮想ルーター冗長プロトコル)イベント
SONET/SDHサブカテゴリーを含む場合、これらのSONET/SDHトラップアラームタイプのみがトラップ通知に含まれます。
version
のステートメントにより、トラップグループのターゲットに送信されたトラップのSNMPバージョンを指定できます。v1
のみを指定した場合、SNMPv1トラップが送信されます。v2
のみを指定した場合、SNMPv2トラップが送信されます。all
を指定した場合、すべてのトラップ条件に対してSNMPv1とSNMPv2トラップが両方とも送信されます。version
のステートメントの詳細については、バージョン(SNMP)を参照してください。
Junos OSを実行しているデバイスにSNMPトラップオプションとグループを設定する
一部のキャリアは、中央 NMS にトラップを転送する複数のトラップレシーバーがあります。これにより、ルーターから中央のNMSにさまざまなトラップ受信機を介しての1つ以上のSNMPトラップのパスの設定が可能になります。Junos OSを実行しているデバイスを設定し、トラップグループに設定されているすべてのトラップレシーバーに各SNMPトラップの同じコピーを送信することができます。
各SNMPトラップパケットのIPヘッダーにおける送信元アドレスは、デフォルトで発信インターフェイスのアドレスに設定されています。トラップレシーバーがパケットを中央 NMSに転送すると、送信元アドレスが保存されます。各SNMPトラップパケットの送信元アドレスのみを参照する中央 NMSは、各SNMPトラップが異なる送信元から来たと仮定します。
現実には、SNMP トラップは同じルーター発ですが、それぞれが異なる発信インターフェイスを介してルーターを後にします。
以下のセクションのステートメントは、NMSが重複したトラップを認識し、発信インターフェイスに基づいてSNMPv1トラップを区別できるようにするものです。
SNMP トラップオプションとトラップグループを設定するには、 階[edit snmp]
層レベルで および でステートtrap-group
メントtrap-options
を含めます。
[edit snmp] trap-options { agent-address outgoing-interface; source-address address; } trap-group group-name { categories { category; } destination-port port-number; targets { address; } version (all | v1 | v2); }
例:SNMPトラップグループを設定する
リンクとスタートアップ トラップの という名前のトラップ通知リストurgent-dispatcher
を設定します。このリストはローカル ルーターによって生成されたトラップが送信されるネットワーク管理ホスト( 1.2.3.4
と fe80::1:2:3:4
)を識別するために使用されます。エージェントがリストされたターゲットにトラップを送信するとき、トラップ グループに指定された名前は SNMP コミュニティ文字列として使用されます。
[edit] snmp { trap-group "urgent-dispatcher" { version v2; categories link startup; targets { 1.2.3.4; fe80::1:2:3:4; } } }
トラップの管理
以下に、SNMP 通知の管理に関する詳細を示します。
-
SysLogイベントに基づいてトラップを生成します。
イベントポリシーには、システムログメッセージに基づいてイベントのトラップを発生させるアクションを含めることができます。この機能により、重要なシステムログメッセージが発生した場合、SNMPトラップベースのアプリケーションの通知が可能になります。対応するトラップがないシステムログメッセージをトラップに変換できます。システムログメッセージではなく、ネットワーク管理システムトラップを使用してネットワークを監視する場合、この機能を使用して、すべての主要なイベントの通知を確認できます。
イベントの受信時にトラップを発生させるポリシーを設定するには、階層レベルに以下のステートメント
[edit event-options policy policy-name]
を含めます。以下の例は、イベントのトラップを発生させるための設定の構成例を示しています
ui_mgd_terminate
。[edit event-options policy p1] events ui_mgd_terminate; then { raise-trap; }
-
トラップのカテゴリーに基づいてトラップをフィルタリングします。
SNMPトラップは、多くのカテゴリーに分類されます。Junos OSには、
[edit snmp trap-group trap-group]
階層レベルでの設定オプションcategories
が用意されており、特定のホストで受信したいトラップのカテゴリーを指定できます。このオプションは、Junos OSの特定のモジュールのみを監視したい場合に使用できます。以下の例は、
link
、vrrp-events
、services
およびotn-alarms
トラップのみを受信する場合の構成例を示しています。[edit snmp] trap-group jnpr { categories { link; vrrp-events; services; otn-alarms; } targets { 192.168.69.179; } }
-
オブジェクト識別子に基づいてトラップをフィルタリングします。
Junos OSには、そのオブジェクト識別子に基づいて特定のトラップを除外できる、より高度なフィルターオプションも用意されています。
notify-filter
オプションを使用して、特定のトラップまたはトラップグループのフィルターを除外できます。以下の例は、ジュニパーネットワークスエンタープライズ固有の構成管理トラップを除く構成例を示しています(以下の例に示すように、SNMPv3設定ではSNMPv1およびSNMPv2トラップのフィルタリングもサポートすることに注意してください)。
[edit snmp] v3 { vacm { security-to-group { security-model v2c { security-name sn_v2c_trap { group gr_v2c_trap; } } } access { group gr_v2c_trap { default-context-prefix { security-model v2c { security-level none { read-view all; notify-view all; } } } } } } target-address TA_v2c_trap { address 10.209.196.166; port 9001; tag-list tg1; target-parameters TP_v2c_trap; } target-parameters TP_v2c_trap { parameters { message-processing-model v2c; security-model v2c; security-level none; security-name sn_v2c_trap; } notify-filter nf1; } notify v2c_notify { type trap; tag tg1; } notify-filter nf1 { oid .1.3.6.1.4.1.2636.4.5 exclude; oid .1 include; } snmp-community index1 { community-name "$9$tDLl01h7Nbw2axN"; ## SECRET-DATA security-name sn_v2c_trap; tag tg1; } view all { oid .1 include; } }