Zabbix-Proxyを使用してのSNMP監視の設定について

Zabbix初心者です。また、本フォーラムへの投稿は初めてですので、足りない情報等があればご指示いただければ幸いです。

【Zabbix-Server情報】
 ・OS:Debian7.8
 ・Zabbixバージョン:2.4
 ・投入パッケージ:zabbix-agent,zabbix-server-pgsql,zabbix-frontend-php,postgresql,zabbix-get,net-snmp5.4.3,snmptt1.3-2
 ・物理NICは1つ

【Zabbix-Proxy情報】
 ・OS:Debian7.8
 ・Zabbixバージョン:2.4
 ・ProxyMode:Activeモード
 ・投入パッケージ:zabbix-agent,zabbix-proxy-pgsql,zabbix-frontend-php,postgresql,zabbix-get,net-snmp5.4.3,snmptt1.3-2
 ・物理NICは2つ

【監視対象機器情報】
 ・YAMAHA社製-RTX1200
  ※下記「構成(現在)」に記載のRTX1200(テスト)となっているRTX1200が監視対象機器です。

【構成(現在)】
[Zabbix-server]=LAN1=[RTX1200]<=フレッツVPN=>[RTX1200(遠隔地)]=LAN2=[Zabbix-Proxy]=LAN3=[RTX1200(テスト)]

【IPアドレス体系」
LAN1=192.168.99.0/24
LAN2=192.168.1.0/24
LAN3=192.168.2.0/24

【監視したいこと】
・[RTX1200(テスト)]で障害が発生したときに[Zabbix-server]のマップにて異常表示をさせて異常原因をSNMPトラップにて知りたい。
 また、RTX1200の異常原因が復旧したときにマップの異常表示を正常に表示させたいと考えております。
・将来的に遠隔地にSNMP対応の監視カメラやアクセスポイントやビデオレコーダを設置予定ですのでこれらもSNMPエージェント監視やトラップ監視をしたいと考えております。

【質問内容】
[質問1]
現状はSNMPtrapで特定の文字列(例えばlinkDownなど)を/var/log/snmptt/snmptt.logや
/var/log/messagesから抽出してダッシュボードに警報表示を出すところまでは出来ていますが
linkDownの対としてlinkUpをキーとしてトリガーを設定してもダッシュボード上の警報表示はそのままです。
過去の質問で同様の内容があったかと思いますが、trapではダッシュボードを正常状態に遷移させるのは
やはり難しいのでしょうか?
次期リリース予定の3.0でも同じでしょうか?

[質問2]
zabbixプロキシを利用して監視を行うべくzabbixプロキシを立てた状態で、
SNMPエージェントによる監視を行おうと登録したホストにデフォルトテンプレートから
SNMP関連のテンプレートをリンクし、SNMPエージェントによる監視を設定しているのですが
SNMP情報の取得ができません。

zabbixサーバからsnmpwalkを使ってzabbixプロキシのsnmp情報の取得は出来ます。
同様にzabbixプロキシから監視端末(YAMAHAルータ)のsnmp情報の取得も出来ています。

何か想定される原因等はありますでしょうか?

[質問3]
zabbixプロキシを利用して監視する場合、監視端末からのsnmptrapやsnmpエージェントからの
情報はプロキシに一旦投げられて、プロキシ上のzabbixエージェントがzabbixサーバに送るという認識でよいのでしょうか?

[質問4]
Zabbix-Proxyを使用してのSNMP監視を設定する際に参考にできそうなサイト等はございますでしょうか。現在参考にしているものは技術評論社から販売されている「Zabbix統合監視」の実践入門と徹底活用です。

【手順】
①Zabbix-ServerとZabbix-Proxyのインストール
②上記の構成を作成
③Zabbix-Proxyのzabbix_proxy.confに対して下記を設定
 ・GENERAL PARAMETER
   >Option:ProxyMode=0
>Option:Server=Zabbix-ServerのIPアドレス
   >Option:Hostname=ZabbixProxyのホスト名
 ・PROXY SPECIFIC PARAMETER
>Option:HeartbeatFrequency=1
>Option:ConfigFrequency=1
>Option:DataSenderFrequency=1
④Zabbix-ServerのGUIに対して下記を設定
 ・管理>プロキシにてアクティブモードでZabbix-Proxyを登録
 ・設定>ホストから[RTX1200(テスト)]を登録してテンプレートにある「Templete App ICMP Ping」を登録
⑤マップを作成して[RTX1200(テスト)]をマップ上に作成
⑥RTX1200(テスト)にIPアドレスの設定をして、RTX1200(テスト)からZabbix-Proxyに対してPingを実施
 →Ping導通
⑦Zabbix-ServerのGUIより、管理>プロキシより最新データ受信時間を確認。
 →1sまたは0sで更新することを確認
⑧RTX1200(テスト)のLANケーブルを抜いて断にする。
 →マップ上のRTX1200(テスト)が正常表示から異常表示となることを確認
⑨RTX1200(テスト)のLANケーブルを接続する。
 →マップ上のRTX1200(テスト)が異常表示から正常表示となることを確認

⑩NET-SNMP、SNMPTTをダウンロードしてインストールし、以下の設定を実施

・Zabbix-ServerとZabbix-Proxyの両方で以下の項目を修正
-------------------------------------------
/etc/snmp/snmptrapd.confに以下を追記

authCommunity log,execute,net public
traphandle default /usr/sbin/snmptthandler

-------------------------------------------
/etc/snmp/snmptt.confに以下を追記

EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $*

-------------------------------------------
/etc/snmp/snmptt.iniを下記のように修正

mode = standalone

mode = daemon

log_file_/var/log/snmptt/snmptt.log(変更なし)

date_time_format =

date_time_format = %Y/%m/%d %H:%M:%S

-------------------------------------------
/etc/default/snmpdを下記のように修正

TRAPDOPTS="-Lsd -p /var/run/snmptrapd.pid"

TRAPDOPTS="-On -Lsd -p /var/run/snmptrapd.pid"

TRAPDRUN=no

TRAPDRUN=yes

-------------------------------------------
/etc/zabbix/zabbix_server.conf
/etc/zabbix/zabbix_proxy.conf

SNMPTrapperFile=/tmp/zabbix_traps.tmp

SNMPTrapperFile=/var/log/snmptt/snmptt.log

StartSNMPTrapper=0

StartSNMPTrapper=1

-------------------------------------------
snmp-mibs-downloader1.1をダウンロードして以下のディレクトリにインストール

/usr/share/mibs

※zabbix-serverには同一ディレクトリにYAMAHAのプライベートMIBもインストール済
-------------------------------------------
/etc/snmp/snmp.conf(zabbix-server,zabbix-proxy両方に設定済)

mibs :

mibs +ALL

どうか宜しくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

[質問1]
現状はSNMPtrapで特定の文字列(例えばlinkDownなど)を/var/log/snmptt/snmptt.logや
/var/log/messagesから抽出してダッシュボードに警報表示を出すところまでは出来ていますが
linkDownの対としてlinkUpをキーとしてトリガーを設定してもダッシュボード上の警報表示はそのままです。
過去の質問で同様の内容があったかと思いますが、trapではダッシュボードを正常状態に遷移させるのは
やはり難しいのでしょうか?

トリガーにどのような設定を行っているのでしょうか?

確実にトラップを受信できるのであれば、Downで障害、Upで復旧と
いうトリガーは設定できると思いますが、SNMP TrapはUDPのパケッ
トで通知されると思いますので、確実に受信できるとは限りません。
また、電源のOn/Offなどやケーブルの結線や取り外しのタイミング
などでも、タイミングの問題でトラップを受信できない可能性も考
えられます。

つまり、確実にトラップを受信して判断できるとは限らないため、
SNMP Trapのみに依存せずに、他の方法でも監視することをお勧め
します。

次期リリース予定の3.0でも同じでしょうか?

SNMP Trapやネットワーク機器の実装次第なので、Zabbixだけでは
改善されないと思います。

[質問2]
zabbixプロキシを利用して監視を行うべくzabbixプロキシを立てた状態で、
SNMPエージェントによる監視を行おうと登録したホストにデフォルトテンプレートから
SNMP関連のテンプレートをリンクし、SNMPエージェントによる監視を設定しているのですが
SNMP情報の取得ができません。

設定手順内にホストとしてRTX1200を登録される際、プロキシを設
定したという詳細な説明の記載が見つけられなかったのですが、
プロキシ経由でアクセスするホストの登録時に、用意したプロキシ
を経由して監視するよう設定されましたか?

[質問3]
zabbixプロキシを利用して監視する場合、監視端末からのsnmptrapやsnmpエージェントからの
情報はプロキシに一旦投げられて、プロキシ上のzabbixエージェントがzabbixサーバに送るという認識でよいのでしょうか?

Zabbixプロキシ配下の機器に関しては、Zabbixプロキシを稼動させ
ているサーバ上に用意したsnmptrapdなどを経由して、Zabbixプロ
キシに投げられて、Zabbixプロキシから直接Zabbixサーバに送られ
ます。

Zabbixプロキシを稼動させているサーバ上のZabbixエージェントは
経由しません。

[質問4]
Zabbix-Proxyを使用してのSNMP監視を設定する際に参考にできそうなサイト等はございますでしょうか。現在参考にしているものは技術評論社から販売されている「Zabbix統合監視」の実践入門と徹底活用です。

Zabbixプロキシ経由での監視となると、あまり整理されたサイトな
どは存じ上げません。

マニュアルにもある程度の記述はありますが、十分ではないかもし
れません。
https://www.zabbix.com/documentation/2.2/jp/manual/config/items/itemtype...

ご不明な点があれば、再度ご質問いただければと思います。

ユーザー hokuhokuhoku の写真

TNK様

ご回答頂きまして有難う御座います。

>>トリガーにどのような設定を行っているのでしょうか?

トリガーについては次のように設定しております。

アイテムキー snmptrap["linkDown"]

○トリガー1
({ホスト名:log[/var/log/snmptt/snmptt.log].regexp(linkDown)}<>1)
深刻度:重度の障害
障害イベントを継続して生成

これで疑似的にlinkDownのトラップを上げると障害として検知され、ダッシュボード上に表示されます。
snmptrap -v 2c -c public zabbixサーバ '' .1.3.6.1.6.3.1.1.5.3

同様にlinkUpのsnmpトラップを上げても障害の表示が消えないので、これを消す方法が無いかを調べておりました。
ご指摘の通り、運用する時はSNMPトラップのみに頼るのではなく他の方法(ICMP等)の併用も検討します。

あと追加のご質問になり恐縮ですが、nodata関数を使った条件式についてです。
先程のトリガー1にnodata関数を用いて以下の条件式をトリガー2として追加して試してみました。

○トリガー2
アイテムキーは1と同じ
({ホスト名:log[/var/log/snmptt/snmptt.log].nodata(180)}<>1)
深刻度:情報
障害イベントを継続して生成

作成した条件式
((ホスト名:log[/var/log/snmptt/snmptt.log].regexp(linkDown)}<>1)and({ホスト名:log[/var/log/snmptt/snmptt.log].nodata(180)}<>1))

一旦ダッシュボード上に障害として検知された後、nodata関数に指定した時間が経過後に
ダッシュボードから消えるのかと思っていたのですがやはり障害として残ってしまいます。

障害として検知後、nodata関数を使ってダッシュボードの表示を正常に戻すような
動作をさせようとすると条件式はどのように書けばよいのでしょうか?
ご教示頂けると幸いです。

>>用意したプロキシを経由して監視するよう設定されましたか?

説明不足で申し訳ありません。
管理タブ→プロキシでプロキシサーバを登録し、ホスト設定にてプロキシによる監視を有効にしております。
プロキシを使った監視についてはもう少し調べてみたいと思います。
もしも行き詰った時は改めてご質問させていただくかもしれませんが、その際は宜しくお願いします。

あと他の質問についてもご回答頂きまして有難う御座いました。
参考にさせて頂きます。

どうか宜しくお願い致します。