龙虎赌博

This is the documentation page for an unsupported version of 龙虎赌博.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

3 SNMP trap

概要

厂狈惭笔トラップの受信は、厂狈惭笔対応デバイスへのクエリとは逆です。

この场合、情报は厂狈惭笔対応デバイスから送信され、窜补产产颈虫によって収集または"トラップ"されます。

通常、何らかの条件が変化するとトラップが送信され、エージェントはポート 162 でサーバーに接続します (クエリに使用されるエージェント側のポート 161 とは対照的です)。 トラップを使用すると、クエリ間隔中に発生し、クエリ データによって見逃される可能性のあるいくつかの短い障害を検出できます。

龙虎赌博 での SNMP トラップの受信は、snmptrapd と、トラップを 龙虎赌博 に渡すためのメカニズムの 1 つ (Bash または Perl スクリプトまたは SNMPTT) で動作するように設計されています。

龙虎赌博 の構成後にトラップ監視をセットアップする最も簡単な方法は、Bash スクリプト ソリューションを使用することです。これは、最近のディストリビューションでは Perl と SNMPTT が欠落していることが多く、より複雑な構成が必要になるためです。 ただし、このソリューションでは、traphandleとして構成されたスクリプトが使用されます。 本番システムでのパフォーマンスを向上させるには、組み込みの Perl ソリューション (do perl オプション付きのスクリプトまたは SNMPTT) を使用してください。

トラップを受信するワークフロー:

  1. snmptrapdがトラップを受信
  2. snmptrapd はトラップをレシーバー スクリプト (Bash,Perl) または SNMPTT に渡します。
  3. 受信者はトラップを解析、フォーマットし、ファイルに书き込みます
  4. 龙虎赌博 SNMP トラッパーは、トラップ ファイルを読み取り、解析します。
  5. トラップごとに、龙虎赌博 は、受信したトラップ アドレスと一致するホスト インターフェイスを持つすべての"SNMP トラッパー"アイテムを検索します。 マッチングでは、ホスト インターフェイスで選択した"IP"または"DNS"のみが使用されることに注意してください。
  6. 见つかった项目ごとに、トラップは snmptrap[regexp] の正规表现と比較されます。 トラップは、一致した すべて のアイテムの値として设定されます。 一致するアイテムが見つからず、snmptrap.fallback アイテムが存在する場合、トラップはその値として设定されます。
  7. トラップがアイテムの値として设定されていない場合、龙虎赌博 はデフォルトで、一致しないトラップをログに記録します。 (これは"管理" → "一般设定" → "その他" の "マッチしないSNMPトラップをログに記録" で设定されます。)

SNMP トラップの设定

フロントエンドで以下のフィールドを设定することは、このアイテムタイプ特有のものです。

  • ホストには SNMP インターフェースが必要です

设定 → ホストインターフェース フィールドで、正しい IP アドレスまたは DNSを使用して SNMP インターフェースを设定します。受信した各トラップからのアドレスは、対応するホストを見つけるために、すべての SNMP インターフェースの IP および DNS アドレスと比較されます。

  • アイテムの设定

キー フィールドでは、SNMP トラップ キーのいずれかを使用します。

キー
説明 戻り値 コメント
snmptrap[regexp]
regexp で指定された 正规表现 に一致するすべての SNMP トラップをキャッチします。 regexp が指定されていない場合、すべてのトラップをキャッチします。 SNMP トラップ この項目は、SNMP インターフェースに対してのみ设定できます。
この項目キーのパラメーターでは、ユーザー マクロとグローバル正规表现がサポートされています。
snmptrap.fallback
そのインターフェースの snmptrap[] アイテムのいずれによってもキャッチされなかったすべての SNMP トラップをキャッチします。 SNMP トラップ このアイテムは、SNMP インターフェースに対してのみ设定できます。

現時点では、複数行の正规表现一致はサポートされていません。

タイムスタンプを解析するには、データ型を'ログ' に设定します。 '数値(整数)'など、他の形式も使用できますが、カスタム トラップ ハンドラが必要になる場合があることに注意してください。

SNMP トラップ監視を機能させるには、まず正しく设定する必要があります (以下を参照)。

SNMP Trap 監視の设定

龙虎赌博 サーバー/プロキシの设定

トラップを読み取るには、龙虎赌博 サーバーまたはプロキシが、SNMP トラッパー プロセスを開始し、SNMPTT または Bash/Perl トラップ レシーバーによって書き込まれているトラップ ファイルを指すように構成されている必要があります。これを行うには设定ファイル (zabbix_server.conf または zabbix_proxy.conf) を編集します。

StartSNMPTrapper=1
       SNMPTrapperFile=摆トラップファイル闭

systemd パラメーターが使用されている场合、このファイルは /tmp では机能しません。

Bash トラップ レシーバーの设定

要件: 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 トラップ レシーバーの设定

要件: Perl および --enable-embedded-perl でコンパイルされた Net-SNMP (Net-SNMP 5.4 以降はデフォルトで実行)

Perl トラップ レシーバー (misc/snmptrap/zabbix_trap_receiver.pl を参照) を使用して、snmptrapd から直接 龙虎赌博 サーバーにトラップを渡すことができます。

设定するには: - Perl スクリプトを snmptrapd设定ファイル(snmptrapd.conf)に追加します。例:

 perl do "[PERL RECEIVER SCRIPT へのフルパス]";
  • レシーバーを设定します。例:

    $SNMPTrapperFile = '[トラップ ファイル]'; $DateTimeFormat = '[日時フォーマット]';

スクリプト名が引用符で囲まれていない場合、snmptrapd は次のようなメッセージで起動を拒否します。

 Regexp modifiers "/l" and "/a" are mutually exclusive at (eval 2) line 1, at end of line
        Regexp modifier "/l" may not appear twice at (eval 2) line 1, at end of line
SNMPTT の设定

最初にSNMPTT を使用するよう、 snmptrapd を设定する必要があります。

最高のパフォーマンスを得るためにはsnmptthandler-embedded を使用してトラップを渡すデーモンとして SNMPTT を構成する必要があります。 手顺を参照してください。

SNMPTT がトラップを受信するように構成されている場合は'snmptt.ini'を设定します。

  1. NET-SNMP パッケージの Perl モジュールの使用を有効にします。

    net_snmp_perl_enable = 1

  2. 龙虎赌博 によって読み取られるトラップ ファイルにトラップを記録します。

    log_enable = 1 log_file = 摆トラップファイル闭

  3. 日付フォーマットを设定します。

    date_time_format = %H:%M:%S %Y/%m/%d = [日付フォーマット]

"net-snmp-perl"パッケージは RHEL 8.0-8.2 で削除されましたが、RHEL 8.3で再度追加されました。詳細については既知の问题を参照してください。

龙虎赌博 が認識できるようにトラップをフォーマットします (snmptt.conf を編集します)。

  1. 各 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)

  2. 以下の SNMP トラップ形式の詳細を参照してください。

未知のトラップは使用しないでください。龙虎赌博 はそれらを認識できません。 snmptt.conf:?EVENT general .* "General event" Normal で一般イベントを定義することにより、不明なトラップを処理できます。

SNMP トラップのフォーマット

カスタマイズされたすべての Perl トラップ レシーバーと SNMPTT トラップ構成は、次の方法でトラップをフォーマットする必要があります。

[timestamp] [the trap, part1] ZBXTRAP [address] [the trap, part 2]

内訳

  • [timestamp] - ログ項目に使用されるタイムスタンプ
  • ZBXTRAP - 新しいトラップがこの行で開始することを示すヘッダー
  • [address] - このトラップのホストを見つけるために使用される IP アドレス

"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) です。 ファイルシステムによってはファイルサイズに下限があることに注意してください。

ログローテーション

窜补产产颈虫はログローテーションシステムを提供していません。ログローテーションはユーザが処理する必要があります。
ログのローテーションは、トラップが失われることがないようにまず古いファイルの名前を変更し、その后で削除する必要があります。

  1. 龙虎赌博は最後に確認された場所にある Trap ファイルを開き、ステップ3へ進みます。
  2. 龙虎赌博は現在開いているファイルがローテーションされているかどうか、inode番号と定義された Trap ファイルの inode番号を比較することで確認します。 開いているファイルがない場合、龙虎赌博は最後の場所をリセットし、ステップ1へ進みます。
  3. 龙虎赌博は現在開いているファイルからデータを読み込み、新しい場所を设定します。
  4. 新しいデータがパースされます。ローテートされたファイルの场合、ファイルは闭じられ、ステップ2に戻ります。
  5. 新しいデータがない場合、龙虎赌博 は 1 秒間スリープし、ステップ 2 に戻ります。
ファイルシステム

Trap ファイルの実装のため、龙虎赌博はファイルを区別するために inodeをサポートする
ファイルシステムを必要とします(この情報は stat() 呼出で取得します)。

異なる SNMP プロトコル バージョンを使用したセットアップ例

この例では、snmptrapd と Bash レシーバー スクリプトを使用して、トラップを 龙虎赌博 サーバーに渡します。

设定:

  1. SNMP トラッパーを起動し、トラップ ファイルを设定するように 龙虎赌博 を構成します。 zabbix_server.confに以下を追加:

    StartSNMPTrapper=1 SNMPTrapperFile=/tmp/my_zabbix_traps.tmp

  2. 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 変数を調整します。 デフォルト値を使用するには、最初に親ディレクトリを作成します。

mkdir -p /var/lib/zabbix/snmptraps
  1. 以下を snmtrapd.conf に追加します (参照動作)

    traphandle default /bin/bash /usr/sbin/zabbix_trap_handler.sh

  2. SNMP アイテム TEST:?を作成します。

    ホスト SNMP インターフェース IP: 127.0.0.1 キー: snmptrap["linkup"] ログタイムフォーマット: yyyyMMdd.hhmmss

  3. 選択した SNMP プロトコル バージョンに対してsnmptrapdを构成し、snmptrapユーティリティを使用してテスト トラップを送信します。

SNMPv1, SNMPv2

SNMPv1 および SNMPv2 プロトコルは"コミュニティ ストリング"認証に依存しています。 以下の例では、コミュニティ ストリングとして"secret"を使用します。 SNMP トラップ送信側で同じ値に设定する必要があります。

SNMPv2 は実稼働環境でまだ広く使用されていますが、暗号化と実際の送信者認証を提供していないことに注意してください。 データはプレーン テキストとして送信されるため、これらのプロトコル バージョンは、プライベート ネットワークなどの安全な環境でのみ使用し、公共またはサード パーティのネットワークでは決して使用しないでください。

SNMP バージョン 1 は、64 ビット カウンターをサポートしておらず、レガシー プロトコルと見なされているため、最近では実際には使用されていません。

SNMPv1 または SNMPv2 トラップの受け入れを有効にするには、次の行を snmptrapd.conf に追加する必要があります。 "secret"を、SNMP トラップ送信者で構成された SNMP コミュニティ文字列に置き換えます。

authCommunity log,execute,net secret

次にsnmptrapを使用してテストトラップを送信します。 この例では、共通の"linkUp" OID を使用します。

snmptrap -v 2c -c secret localhost 0 linkUp.0
SNMPv3

SNMPv3 は、SNMPv1/v2 のセキュリティ問題に対処し、認証と暗号化を提供します。 認証方式として SHA または MD5 を使用し、暗号として AES または DES を使用できます。

SNMPv3 の受け入れを有効にするには、次の行を snmptrapd.conf に追加します。

createUser -e 0x8000000001020304 traptest SHA mypassword AES
       authuser log,execute traptest

このユーザー セキュリティ モデルのスクリプトを実行できるようにする "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

参照