LAGポートのLinkDown/Upメールについて
お世話になっております。
LAGを組んでいるSWに対しSWをケーブルで接続、抜線したところ
以下の事象が発生しました。
■事象
LAGポートに対してケーブルを接続、抜線した際に
メールが特定の1ポートのI/Fダウンアップしか受信しない。
■使用機器
HP製インテリジェントハブ
■Zabbixバージョン
Zabbix server v2.4.1 (revision 49643)
■LAG設定
GigabitEthernet5/0/45
GigabitEthernet6/0/45
上記2つのポートでBridge-Aggregation45を作成
■設定
・アクションの実行条件
計算式のタイプ:And
アクションの実行条件:ラベル 名前
A トリガーの値 = 障害
B トリガー = SNMPトラップテンプレート_リンクアップ&ダウン: linkDown検知
計算式のタイプ:And
アクションの実行条件:ラベル 名前
A トリガーの値 = 障害
B トリガー = SNMPトラップテンプレート_リンクアップ&ダウン: linkUp検知
・アイテム
タイプ:SNMPトラップ
キー:snmptrap[linkDown]
データ型:ログ
タイプ:SNMPトラップ
キー:snmptrap[linkUp]
データ型:ログ
・トリガー
条件式:{TMP_SNMPTrap_linkUp_linkDown:snmptrap[linkDown].regexp(.*)}=1 and
{TMP_SNMPTrap_linkUp_linkDown:snmptrap[linkDown].nodata(1m)}=0
条件式:{TMP_SNMPTrap_linkUp_linkDown:snmptrap[linkUp].regexp(.*)}=1 and
{TMP_SNMPTrap_linkUp_linkDown:snmptrap[linkUp].nodata(1m)}=0
今回メールを受信した対象の1ポートというのが5/0/45になるのですが、
想定では6/0/45やBridge-Aggregation45からも同時メールを受信するのではと考えております。
以上となります。追加の情報が必要な場合にはお申し付けください。
ご確認の程よろしくお願い致します。
fripper - 投稿数: 495
順をおって、確認をしていただきたいです。
・まずそもそも、スイッチ側はポート毎にトラップを投げているか?
・トラップ受信側に届いているか?
対象の SW から発生したトラップを受信するサーバは、zabbix_server を稼働させているサーバ自身で
snmptrapd や syslog 等のログでは、各ポート毎にトラップを受信しているか?
・受信したトラップ情報が、アイテム値として登録されているか?
おそらく snmptt 等を経由して アイテムの値に登録されているはずですが、
snmptrap[linkDown] アイテムの履歴値を見て、各々のポートに関する受信記録がすべて
登録されていますか?
提示頂いている設定キーを見る限り、トラップの種別毎にアイテムがあるようですので
ポート複数分、複数件のトラップ履歴が、1アイテムに連続登録されるような動作に
なっているのだと思います
・トリガーの設定で、「障害イベントを継続して生成」はどのようになっていますか?
提示頂いているトリガー設定の条件だと、おそらく無効なのだと想像します
1.連続して発生する複数のトラップのうち1件目の値を受信した時点で
「障害」ステータスに変化 → トリガーからアクションが発動
2.2件め・3件めを受信。既に「障害」ステータスなので、アクションは発動しない
3.nodata で指定されている時間が経過して、「正常」ステータスに復帰
→ トリガーから復旧アクションが発動、復旧時のアクションが無効ならば特に何も実行されない
1件のアイテムに、複数件の障害を示すデータを連続受信した際に、
全部の受信からアクションを実施したければ、「障害イベントを継続して生成」を有効にする必要があります
しかし、提示頂いているトリガー設定のように、「nodata」を含めている場合には
一定時間おきに「障害」「正常」の判定が行われてしまいます
そのため、以下のような動作となります
おそらく「4」のアクションが、意図されている動作ではなくなってしまうと思います
1.1件目受信 「正常から障害に変化」 → トリガーからアクション発動
2.2件め受信 継続生成有効なので→ トリガーからアクション発動
3.3件め受信 継続生成有効なので→ トリガーからアクション発動
4. 30sec 間隔で nodata の評価が実行される
→ 1m 以内のデータがあるため継続して「障害」として判定される → トリガーからアクション発動
5. 30sec 間隔で nodata の評価が実行される
→ 1m 以内のデータがなくなったため、「正常」へ復帰
→ トリガーから復旧アクションが発動、復旧時のアクションが無効ならば特に何も実行されない
「継続して生成」を有効にしたうえで、トリガー条件式に「nodata」を利用しなければ、
「4」のアクション動作は回避することができますが、
今度は、トリガーを「障害」から「正常」に戻す方法がなくなってしまい、
いったんトラップを受信してしまうと、常に「障害」のままになってしまうことになります
運用なども絡むかと思いますので、今一度、見合う設定を検討されるのが良いかと思います
最後に、ご利用のバージョン 2.4.1 ですが、2.4系列のなかでも相応に古いものとなります
SNMPTrap周りに限らず、多くの不具合修正されていますので、2.4 系のなかでも
新しい版にすることをおすすめします
また、先日の3.0リリースに伴い、2.4系はサポート期間が終了しています
3.0への移行も含め、検討されることをおすすめします
negibouzu - 投稿数: 7
fripper様
お返事が遅くなり大変申し訳ございません。
トリガーにて"障害イベントを継続して生成"にチェックを入れた状態で
LAG設定がしてあるポートに接続されているUTPケーブルを2本抜線したところ、
各物理ポートからとLAGポートから通知メールを検知しました。
しかし、最初に抜線したポートから3通と残りの物理ポートから1通と
LAGポートから1通の計5通受信してしまいます。
何度も検証しましたが、受信数は変わらず5通でした。
最初に抜線したポートからの受信数を減らしてポートの数分での
メール受信を実現したいのですが、手立てはございますでしょうか。
お手数ではございますがご確認の程よろしくお願い致します。