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ステートメントを含めます。
例えば、以下の設定では、ルーティングインスタンス名 ri1 をSNMPトラップの送信元アドレスとして設定します。
[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 として表示されます。ただし、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)を参照してください。
内部処理用に __juniper_internal_trap_group__ という名前のデフォルトトラップグループが作成されます。 __juniper_internal_trap_group__という名前のトラップグループは設定しないでください。
Junos OSを実行しているデバイスでSNMPトラップオプションとグループを設定する
一部のキャリアは、中央 NMS にトラップを転送する複数のトラップレシーバーを備えています。これにより、異なるトラップレシーバーを介して、ルーターから中央 NMSへのSNMPトラップの複数のパスが可能になります。Junos OSを実行するデバイスを設定して、トラップグループに設定されているすべてのトラップレシーバーに各SNMPトラップの同じコピーを送信することができます。
各SNMPトラップパケットのIPヘッダーの送信元アドレスは、デフォルトで発信インターフェイスのアドレスに設定されています。トラップレシーバーがパケットを中央 NMSに転送すると、送信元アドレスが保存されます。各SNMPトラップパケットの送信元アドレスのみを参照する中央 NMSは、各SNMPトラップが異なる送信元から来たと仮定します。
実際には、SNMPトラップは同じルーター発ですが、それぞれが異なる発信インターフェイスを介してルーターを離れます。
以下のセクションで説明するステートメントは、NMSが重複するトラップを認識し、発信インターフェイスに基づいてSNMPv1トラップを区別できるようにするものです。
SNMPトラップオプションとトラップグループを設定するには、[edit snmp]階層レベルでtrap-optionsおよびtrap-groupステートメントを含めます。
[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; } }