厂狈惭笔トラップの受信は、厂狈惭笔対応デバイスへのクエリとは逆です。
この场合、情报は厂狈惭笔対応デバイスから送信され、窜补产产颈虫によって収集または"トラップ"されます。
通常、何らかの条件が変化するとトラップが送信され、エージェントはポート 162 でサーバーに接続します (クエリに使用されるエージェント側のポート 161 とは対照的です)。 トラップを使用すると、クエリ間隔中に発生し、クエリ データによって見逃される可能性のあるいくつかの短い障害を検出できます。
龙虎赌博 での SNMP トラップの受信は、snmptrapd と、トラップを 龙虎赌博 に渡すためのメカニズムの 1 つ (Bash または Perl スクリプトまたは SNMPTT) で動作するように設計されています。
龙虎赌博 の構成後にトラップ監視をセットアップする最も簡単な方法は、Bash スクリプト ソリューションを使用することです。これは、最近のディストリビューションでは Perl と SNMPTT が欠落していることが多く、より複雑な構成が必要になるためです。 ただし、このソリューションでは、traphandle
として構成されたスクリプトが使用されます。 本番システムでのパフォーマンスを向上させるには、組み込みの Perl ソリューション (do perl
オプション付きのスクリプトまたは SNMPTT) を使用してください。
トラップを受信するワークフロー:
snmptrapd
がトラップを受信snmptrapd
はトラップをレシーバー スクリプト (Bash,Perl) または SNMPTT に渡します。snmptrap[regexp]
の正规表现と比較されます。 トラップは、一致した すべて のアイテムの値として设定されます。 一致するアイテムが見つからず、snmptrap.fallback アイテムが存在する場合、トラップはその値として设定されます。フロントエンドで以下のフィールドを设定することは、このアイテムタイプ特有のものです。
设定 → ホスト の インターフェース フィールドで、正しい IP アドレスまたは DNSを使用して SNMP インターフェースを设定します。受信した各トラップからのアドレスは、対応するホストを見つけるために、すべての SNMP インターフェースの IP および DNS アドレスと比較されます。
キー フィールドでは、SNMP トラップ キーのいずれかを使用します。
キー | ||
---|---|---|
説明 | 戻り値 | コメント |
snmptrap[regexp] | ||
regexp で指定された 正规表现 に一致するすべての SNMP トラップをキャッチします。 regexp が指定されていない場合、すべてのトラップをキャッチします。 | SNMP トラップ | この項目は、SNMP インターフェースに対してのみ设定できます。 この項目キーのパラメーターでは、ユーザー マクロとグローバル正规表现がサポートされています。 |
snmptrap.fallback | ||
そのインターフェースの snmptrap[] アイテムのいずれによってもキャッチされなかったすべての SNMP トラップをキャッチします。 | SNMP トラップ | このアイテムは、SNMP インターフェースに対してのみ设定できます。 |
現時点では、複数行の正规表现一致はサポートされていません。
タイムスタンプを解析するには、データ型を'ログ' に设定します。 '数値(整数)'など、他の形式も使用できますが、カスタム トラップ ハンドラが必要になる場合があることに注意してください。
SNMP トラップ監視を機能させるには、まず正しく设定する必要があります (以下を参照)。
トラップを読み取るには、龙虎赌博 サーバーまたはプロキシが、SNMP トラッパー プロセスを開始し、SNMPTT または Bash/Perl トラップ レシーバーによって書き込まれているトラップ ファイルを指すように構成されている必要があります。これを行うには设定ファイル (zabbix_server.conf または zabbix_proxy.conf) を編集します。
systemd パラメーターが使用されている场合、このファイルは /tmp では机能しません。
要件: snmptrapd のみ。
Bashトラップ レシーバー を使用して、snmptrapd から直接 龙虎赌博 サーバーにトラップを渡すことができます。设定するには、snmptrapd 设定ファイル (snmptrapd.conf
) に traphandle
オプションを追加します。 [例] (https://raw.githubusercontent.com/zabbix/zabbix-docker/6.2/Dockerfiles/snmptraps/alpine /conf/etc/snmp/snmptrapd.conf)。
要件: Perl および --enable-embedded-perl でコンパイルされた Net-SNMP (Net-SNMP 5.4 以降はデフォルトで実行)
Perl トラップ レシーバー (misc/snmptrap/zabbix_trap_receiver.pl を参照) を使用して、snmptrapd から直接 龙虎赌博 サーバーにトラップを渡すことができます。
设定するには: - Perl スクリプトを snmptrapd设定ファイル(snmptrapd.conf)に追加します。例:
レシーバーを设定します。例:
$SNMPTrapperFile = '[トラップ ファイル]'; $DateTimeFormat = '[日時フォーマット]';
スクリプト名が引用符で囲まれていない場合、snmptrapd は次のようなメッセージで起動を拒否します。
最初にSNMPTT を使用するよう、 snmptrapd を设定する必要があります。
最高のパフォーマンスを得るためにはsnmptthandler-embedded を使用してトラップを渡すデーモンとして SNMPTT を構成する必要があります。 手顺を参照してください。
SNMPTT がトラップを受信するように構成されている場合は'snmptt.ini'を设定します。
NET-SNMP パッケージの Perl モジュールの使用を有効にします。
net_snmp_perl_enable = 1
龙虎赌博 によって読み取られるトラップ ファイルにトラップを記録します。
log_enable = 1 log_file = 摆トラップファイル闭
日付フォーマットを设定します。
date_time_format = %H:%M:%S %Y/%m/%d = [日付フォーマット]
"net-snmp-perl"パッケージは RHEL 8.0-8.2 で削除されましたが、RHEL 8.3で再度追加されました。詳細については既知の问题を参照してください。
龙虎赌博 が認識できるようにトラップをフォーマットします (snmptt.conf を編集します)。
各 FORMAT ステートメントは"ZBXTRAP [address]"で開始する必要があります。[address] は、龙虎赌博 の SNMP インターフェースの IP および DNS アドレスと比較されます。例:
EVENT coldStart .1.3.6.1.6.3.1.1.5.1 "Status Events" Normal FORMAT ZBXTRAP $aA Device reinitialized (coldStart)
以下の SNMP トラップ形式の詳細を参照してください。
未知のトラップは使用しないでください。龙虎赌博 はそれらを認識できません。 snmptt.conf:?EVENT general .* "General event" Normal で一般イベントを定義することにより、不明なトラップを処理できます。
カスタマイズされたすべての Perl トラップ レシーバーと SNMPTT トラップ構成は、次の方法でトラップをフォーマットする必要があります。
内訳
"ZBXTRAP"と"[address]"は、処理中にメッセージから切り取られることに注意してください。 トラップが別の方法でフォーマットされている場合、龙虎赌博 は予期せずトラップを解析する可能性があります。
トラップの例:
11:30:15 2011/07/27 .1.3.6.1.6.3.1.1.5.3 Normal "Status Events"
localhost - ZBXTRAP 192.168.1.1 Link down on interface 2. Admin state:
1. Operational state: 2
これにより、IP=192.168.1.1 の SNMP インターフェースに対して次のトラップが発生します。
11:30:15 2011/07/27 .1.3.6.1.6.3.1.1.5.3 Normal "Status Events"
localhost - Link down on interface 2. Admin state: 1. Operational state: 2
龙虎赌博は、SNMPトラッパーのラージファイルをサポートしています。龙虎赌博 が読み取れる最大ファイル サイズは 2^63 (8 EiB) です。 ファイルシステムによってはファイルサイズに下限があることに注意してください。
窜补产产颈虫はログローテーションシステムを提供していません。ログローテーションはユーザが処理する必要があります。
ログのローテーションは、トラップが失われることがないようにまず古いファイルの名前を変更し、その后で削除する必要があります。
Trap ファイルの実装のため、龙虎赌博はファイルを区別するために inodeをサポートする
ファイルシステムを必要とします(この情報は stat() 呼出で取得します)。
この例では、snmptrapd と Bash レシーバー スクリプトを使用して、トラップを 龙虎赌博 サーバーに渡します。
设定:
SNMP トラッパーを起動し、トラップ ファイルを设定するように 龙虎赌博 を構成します。 zabbix_server.conf
に以下を追加:
StartSNMPTrapper=1 SNMPTrapperFile=/tmp/my_zabbix_traps.tmp
Bash スクリプトを/usr/sbin/zabbix_trap_handler.sh
としてダウンロード
curl -o /usr/sbin/zabbix_trap_handler.sh https://raw.githubusercontent.com/zabbix/zabbix-docker/6.2/Dockerfiles/snmptraps/alpine/conf/usr/sbin/zabbix_trap_handler.sh
必要に応じて、スクリプトの ZABBIX_TRAPS_FILE 変数を調整します。 デフォルト値を使用するには、最初に親ディレクトリを作成します。
以下を snmtrapd.conf
に追加します (参照動作)
traphandle default /bin/bash /usr/sbin/zabbix_trap_handler.sh
SNMP アイテム TEST:?を作成します。
ホスト SNMP インターフェース IP: 127.0.0.1 キー: snmptrap["linkup"]
ログタイムフォーマット: yyyyMMdd.hhmmss
選択した SNMP プロトコル バージョンに対してsnmptrapd
を构成し、snmptrap
ユーティリティを使用してテスト トラップを送信します。
SNMPv1 および SNMPv2 プロトコルは"コミュニティ ストリング"認証に依存しています。 以下の例では、コミュニティ ストリングとして"secret"を使用します。 SNMP トラップ送信側で同じ値に设定する必要があります。
SNMPv2 は実稼働環境でまだ広く使用されていますが、暗号化と実際の送信者認証を提供していないことに注意してください。 データはプレーン テキストとして送信されるため、これらのプロトコル バージョンは、プライベート ネットワークなどの安全な環境でのみ使用し、公共またはサード パーティのネットワークでは決して使用しないでください。
SNMP バージョン 1 は、64 ビット カウンターをサポートしておらず、レガシー プロトコルと見なされているため、最近では実際には使用されていません。
SNMPv1 または SNMPv2 トラップの受け入れを有効にするには、次の行を snmptrapd.conf
に追加する必要があります。 "secret"を、SNMP トラップ送信者で構成された SNMP コミュニティ文字列に置き換えます。
次にsnmptrap
を使用してテストトラップを送信します。 この例では、共通の"linkUp" OID を使用します。
SNMPv3 は、SNMPv1/v2 のセキュリティ問題に対処し、認証と暗号化を提供します。 認証方式として SHA または MD5 を使用し、暗号として AES または DES を使用できます。
SNMPv3 の受け入れを有効にするには、次の行を snmptrapd.conf
に追加します。
このユーザー セキュリティ モデルのスクリプトを実行できるようにする "execute" キーワードに注意してください。
# snmptrap -v 3 -n "" -a SHA -A mypassword -x AES -X mypassword -l authPriv -u traptest -e 0x8000000001020304 localhost 0 linkUp.0
AES192 や AES256 などの強力な暗号化方式を使用する場合は、バージョン 5.8 以降の net-snmp を使用してください。configure
オプションで再コンパイルする必要があるかもしれません: --enable-blumenthal-aes
古いバージョンの net-snmp は AES192/AES256 をサポートしていません。 参照: http://www.net-snmp.org/wiki/index.php/Strong_Authentication_or_Encryption
どちらの例でも、/var/lib/zabbix/snmptraps/snmptraps.log
に同様の行が表示されます:
20220805.102235 ZBXTRAP 127.0.0.1
UDP: [127.0.0.1]:35736->[127.0.0.1]:162
DISMAN-EVENT-MIB::sysUpTimeInstance = 0:0:00:00.00
SNMPv2-MIB::snmpTrapOID.0 = IF-MIB::linkUp.0
龙虎赌博 のアイテム値は次のようになります。
2022-08-05 10:54:43 2022-08-05 10:54:41
20220805.105441 UDP: [127.0.0.1]:44262->[127.0.0.1]:162
DISMAN-EVENT-MIB::sysUpTimeInstance = 0:0:00:00.00
SNMPv2-MIB::snmpTrapOID.0 = IF-MIB::linkUp.0