hostの作成時に、ciscoのWS-C3524-XLのtrap監視を実施しようと 試みておりますが、状態が不明の状態のまま、アイテムやテンプレートの値を設定しても、監視できない状態です。
サーバから対象のスイッチに対してpingは通ります。 ホストのIPアドレスの設定は合っています。
原因として考えられる事で、zabbixの仕様上、監視できない機器が存在するという事はありますでしょうか?
Ciscoとのことですので、ネットワーク機器の監視ということですよね? 3524側でSNMPエージェントを有効にしていてSNMPでの値を取得できないのならば、考えられるのは、
・SNMPのコミュニティ名が合っていない ・取得しようとしている情報に対するOIDが利用している機器と合致していない
が可能性として高いと思われます。
コミュニティ名は合っていますか? サーバ側からsnmpwalkコマンドなどを利用して値を取得できますか?
Zabbixでは、SNMP v1やSNMP v2に対応している機器であれば、その機器上のエージェントがサポートしている範囲での値の取得と、その値に対する監視を行うことができます。
snmpwalk コマンドがみつからず、yumにてインストールしてみましたが、アップデートされるだけでインストールはされている様でした。
コミュニティ名はpublicで、間違いはありません。
また、そもそもsnmpの監視が行う以前の問題として、 ホストを作成した後に、状態のカラムが「不明」の状態で、 死活監視も出来ない状況です。(サーバからpingは通ります。)
yorosikuさん
※※※※ 追記しました ※※※
ホストの状態についてですが、正確にはエージェント監視の状態を表しています。
訳が良くないと言うことでzabbix-jpの1.6.8-1から下記の訳に変わりました。 <code> ホストの「ステータス」 :「監視」「未監視」 ホストの「エージェントの状態」:「利用可能」「利用不可」「不明」 </code>
エージェント監視はsnmpエージェント、zabbixエージェント等を指し、icmpping等のシンプルチェックは状態が不明でも監視可能です。(icmpping等の死活監視はOKなはずです。)
snmpですが、cisco側の設定はどうなっていますか? ネットワーク機器は基本snmpトラップが多いかと。
デフォルト(省略)だとsnmpトラップになっていませんか? すいませんが、ciscoの設定を確認して見て下さい。
また、接続ですがv1かv2cのうちsnmp接続はv2cを使うのがciscoでは一般的なようです。
回答ありがとうございます。
show runの結果は以下の通りです。 access-list 12 permit 192.168.11.3 snmp-server engineID local 00000009020000049AF40400 snmp-server community public RO snmp-server community private RW snmp-server community notsopublic RO 12 snmp-server enable traps snmp authentication linkdown linkup coldstart snmp-server enable traps vlan-membership snmp-server enable traps config snmp-server enable traps entity snmp-server enable traps bridge snmp-server enable traps hsrp snmp-server enable traps c2900 snmp-server enable traps mac-notification snmp-server enable traps vtp snmp-server enable traps cluster snmp-server host 192.168.11.3 trap public snmp-server host 192.168.11.4 trap public !
ちなみにzabbixサーバは192.168.11.3です。 192.168.11.4はデスクトップPCで別ソフトでSNMPの値を 取得する事はできています。 スイッチと監視サーバは直接つながっています。
また、死活監視も出来ていない状態となります。 (サーバからスイッチに対してpingは通るのですが。。)
申し訳ありませんが確認させてください。 「死活監視」とおっしゃられているのは、具体的に何をどのように指定して監視しようとされていることを示されているのかお教え下さい。
snmpwalkコマンドがみつからないとのことですが、パッケージとして何を指定されたのでしょうか? インストールされているなら実行できるはずです。 snmpwalkは、パッケージ「net-snmp-utils」に入っているはずです。 ご確認ください。
死活監視とは、icmpを用いたping監視との認識です。 言葉足らずで申し訳ありません。
設定内容を見直し、ping監視 snmptrap監視が正常に 出来ていることを確認致しました。
showの結果ですが、snmp trapになっているように見えますけど?
■snmp監視 zabbixサーバ側からciscoに情報を取得に行きます。
■snmp trap監視 ciscoが指定のアドレスに情報を投げつけます。
ciscoをその設定で監視するにはsnmptrap.shを使用したsnmp trap監視をして下さい。(プロトコルはv1でOKです。)
snmp監視にする場合はcisco側の設定をtrapではなくinformsに変更して下さい、プロトコルはv2cです。
一度、ciscoのマニュアルをチェックされた方が良いですよ。
今回ですとsnmp trap監視をしたく、ciscoに設定をしています。
ただ、Ciscoのマニュアルは一度チェックしてみたいと思います。
■icmpping監視 通常、pingが通ればicmppingも監視可能なのですが… icmppingはエージェント・レス監視なのでホストの状態が不明でも監視可能なはずです… 監視ができていない場合は、ログを確認下さい。 また、fpingが正しく設定されているか確認下さい。
■snmptrap監視 snmptrapはzabbix_senderが入っているマシンならどこでも受け取れます。 snmptrapをzabbixサーバが入っているマシンに飛ばしているなら、zabbixサーバで下記の設定をすれば監視可能です。
下記はOSがCentOSを想定して書いてます。
1)snmptrapdをインストール(入っていなかったら) OSバンドルのrpmかyumでsnmptrapをインストールするのが簡単かと。 また、インストールしたらsnmptrapdのサービス登録した方が良いかと思います。 尚、snmptrapdはsyslog経由でログを出力することも可能です。 ※:snmptrapをネットで検索すると出てくるかと…
2)snmptrap.shを配置 zabbixのtar.gzに入っていますので、適当な場所に配置して下さい。 snmptrap.shはsnmptrapdから起動されますので、snmptrapdの起動できる権限が必要です。
3)/etc/snmp/snmptrapd.confの修正 次の1行を追加します。 <code> traphandle default /bin/bash {シェルの配置先}/snmptrap.sh </code>
4){シェルの配置先}/snmptrap.shの修正 下記を修正します。 <code> ZABBIX_SERVER="{ZABBIXサーバのIPアドレス}"; ZABBIX_PORT="{ZABBIXサーバの接続ポート(普通は10051)}"; ZABBIX_SENDER="{/zabbixのインストール先}/zabbix_sender"; HOST="{登録するホスト名(注1)}"; KEY="{アイテム登録するkey名}"; </code> 注1:既にzabbixエージェント監視しているサーバならばHOSTに設定する名前は一緒にした方が良いかと。
5)webフロントエンドにホスト登録 ホスト名はsnmptrap.shのHOSTに設定した値です。 注1:既にzabbixエージェント監視でホストを登録していて、zabbix_agentd.confとsnmptrap.shのHOSTが一緒ならば新しいホストの登録は不要です。
6)アイテム登録 <code> Description :アイテム名 Type :ZABBIX trapper Key :snmptrap.shのKEY Type of information :Character </code>
ホストを追加しただけでは「不明」のままです。 ホストにテンプレートを割り当てるか、アイテムを追加して下さい。 その際、タイプとして「SNMPv2エージェント」などの機器に対応したタイプを選択することにご注意下さい。
追加するアイテムの例としては、以下のようなものはいかがでしょうか?
<code> 名前 : sysUpTime.sysUpTimeInstance タイプ : SNMPv2エージェント SNMPコミュニティ : public SNMP OID : .1.3.6.1.2.1.1.3.0 SNMPポート : 161 キー : sysUpTime.sysUpTimeInstance データ型 : 数値(整数) 単位 : s 乗数を使用 : 乗数 乗数 : 0.01 更新間隔(秒) : 60 </code>
コミュニティ名やOIDなどは、利用されている環境や機器に合わせて指定して下さい。
アカウント名 yorosiku
Zabbix関連
TNK - 投稿数: 4742
Ciscoとのことですので、ネットワーク機器の監視ということですよね?
3524側でSNMPエージェントを有効にしていてSNMPでの値を取得できないのならば、考えられるのは、
・SNMPのコミュニティ名が合っていない
・取得しようとしている情報に対するOIDが利用している機器と合致していない
が可能性として高いと思われます。
コミュニティ名は合っていますか?
サーバ側からsnmpwalkコマンドなどを利用して値を取得できますか?
Zabbixでは、SNMP v1やSNMP v2に対応している機器であれば、その機器上のエージェントがサポートしている範囲での値の取得と、その値に対する監視を行うことができます。
yorosiku - 投稿数: 20
snmpwalk コマンドがみつからず、yumにてインストールしてみましたが、アップデートされるだけでインストールはされている様でした。
コミュニティ名はpublicで、間違いはありません。
また、そもそもsnmpの監視が行う以前の問題として、
ホストを作成した後に、状態のカラムが「不明」の状態で、
死活監視も出来ない状況です。(サーバからpingは通ります。)
KAZ - 投稿数: 1085
yorosikuさん
※※※※ 追記しました ※※※
ホストの状態についてですが、正確にはエージェント監視の状態を表しています。
訳が良くないと言うことでzabbix-jpの1.6.8-1から下記の訳に変わりました。
<code>
ホストの「ステータス」 :「監視」「未監視」
ホストの「エージェントの状態」:「利用可能」「利用不可」「不明」
</code>
エージェント監視はsnmpエージェント、zabbixエージェント等を指し、icmpping等のシンプルチェックは状態が不明でも監視可能です。(icmpping等の死活監視はOKなはずです。)
snmpですが、cisco側の設定はどうなっていますか?
ネットワーク機器は基本snmpトラップが多いかと。
デフォルト(省略)だとsnmpトラップになっていませんか?
すいませんが、ciscoの設定を確認して見て下さい。
また、接続ですがv1かv2cのうちsnmp接続はv2cを使うのがciscoでは一般的なようです。
yorosiku - 投稿数: 20
回答ありがとうございます。
show runの結果は以下の通りです。
access-list 12 permit 192.168.11.3
snmp-server engineID local 00000009020000049AF40400
snmp-server community public RO
snmp-server community private RW
snmp-server community notsopublic RO 12
snmp-server enable traps snmp authentication linkdown linkup coldstart
snmp-server enable traps vlan-membership
snmp-server enable traps config
snmp-server enable traps entity
snmp-server enable traps bridge
snmp-server enable traps hsrp
snmp-server enable traps c2900
snmp-server enable traps mac-notification
snmp-server enable traps vtp
snmp-server enable traps cluster
snmp-server host 192.168.11.3 trap public
snmp-server host 192.168.11.4 trap public
!
ちなみにzabbixサーバは192.168.11.3です。
192.168.11.4はデスクトップPCで別ソフトでSNMPの値を
取得する事はできています。
スイッチと監視サーバは直接つながっています。
また、死活監視も出来ていない状態となります。
(サーバからスイッチに対してpingは通るのですが。。)
TNK - 投稿数: 4742
申し訳ありませんが確認させてください。
「死活監視」とおっしゃられているのは、具体的に何をどのように指定して監視しようとされていることを示されているのかお教え下さい。
snmpwalkコマンドがみつからないとのことですが、パッケージとして何を指定されたのでしょうか?
インストールされているなら実行できるはずです。
snmpwalkは、パッケージ「net-snmp-utils」に入っているはずです。
ご確認ください。
yorosiku - 投稿数: 20
死活監視とは、icmpを用いたping監視との認識です。
言葉足らずで申し訳ありません。
設定内容を見直し、ping監視 snmptrap監視が正常に
出来ていることを確認致しました。
KAZ - 投稿数: 1085
yorosikuさん
showの結果ですが、snmp trapになっているように見えますけど?
■snmp監視
zabbixサーバ側からciscoに情報を取得に行きます。
■snmp trap監視
ciscoが指定のアドレスに情報を投げつけます。
ciscoをその設定で監視するにはsnmptrap.shを使用したsnmp trap監視をして下さい。(プロトコルはv1でOKです。)
snmp監視にする場合はcisco側の設定をtrapではなくinformsに変更して下さい、プロトコルはv2cです。
一度、ciscoのマニュアルをチェックされた方が良いですよ。
yorosiku - 投稿数: 20
今回ですとsnmp trap監視をしたく、ciscoに設定をしています。
ただ、Ciscoのマニュアルは一度チェックしてみたいと思います。
KAZ - 投稿数: 1085
yorosikuさん
■icmpping監視
通常、pingが通ればicmppingも監視可能なのですが…
icmppingはエージェント・レス監視なのでホストの状態が不明でも監視可能なはずです…
監視ができていない場合は、ログを確認下さい。
また、fpingが正しく設定されているか確認下さい。
■snmptrap監視
snmptrapはzabbix_senderが入っているマシンならどこでも受け取れます。
snmptrapをzabbixサーバが入っているマシンに飛ばしているなら、zabbixサーバで下記の設定をすれば監視可能です。
下記はOSがCentOSを想定して書いてます。
1)snmptrapdをインストール(入っていなかったら)
OSバンドルのrpmかyumでsnmptrapをインストールするのが簡単かと。
また、インストールしたらsnmptrapdのサービス登録した方が良いかと思います。
尚、snmptrapdはsyslog経由でログを出力することも可能です。
※:snmptrapをネットで検索すると出てくるかと…
2)snmptrap.shを配置
zabbixのtar.gzに入っていますので、適当な場所に配置して下さい。
snmptrap.shはsnmptrapdから起動されますので、snmptrapdの起動できる権限が必要です。
3)/etc/snmp/snmptrapd.confの修正
次の1行を追加します。
<code>
traphandle default /bin/bash {シェルの配置先}/snmptrap.sh
</code>
4){シェルの配置先}/snmptrap.shの修正
下記を修正します。
<code>
ZABBIX_SERVER="{ZABBIXサーバのIPアドレス}";
ZABBIX_PORT="{ZABBIXサーバの接続ポート(普通は10051)}";
ZABBIX_SENDER="{/zabbixのインストール先}/zabbix_sender";
HOST="{登録するホスト名(注1)}";
KEY="{アイテム登録するkey名}";
</code>
注1:既にzabbixエージェント監視しているサーバならばHOSTに設定する名前は一緒にした方が良いかと。
5)webフロントエンドにホスト登録
ホスト名はsnmptrap.shのHOSTに設定した値です。
注1:既にzabbixエージェント監視でホストを登録していて、zabbix_agentd.confとsnmptrap.shのHOSTが一緒ならば新しいホストの登録は不要です。
6)アイテム登録
<code>
Description :アイテム名
Type :ZABBIX trapper
Key :snmptrap.shのKEY
Type of information :Character
</code>
TNK - 投稿数: 4742
ホストを追加しただけでは「不明」のままです。
ホストにテンプレートを割り当てるか、アイテムを追加して下さい。
その際、タイプとして「SNMPv2エージェント」などの機器に対応したタイプを選択することにご注意下さい。
追加するアイテムの例としては、以下のようなものはいかがでしょうか?
<code>
名前 : sysUpTime.sysUpTimeInstance
タイプ : SNMPv2エージェント
SNMPコミュニティ : public
SNMP OID : .1.3.6.1.2.1.1.3.0
SNMPポート : 161
キー : sysUpTime.sysUpTimeInstance
データ型 : 数値(整数)
単位 : s
乗数を使用 : 乗数
乗数 : 0.01
更新間隔(秒) : 60
</code>
コミュニティ名やOIDなどは、利用されている環境や機器に合わせて指定して下さい。