ネットワーク機器のトラフィック量を監視するためSNMPコミュニティ名をマクロ化して 取得したいのですが、うまくいきません。 コミュニティ名にメタキャラクタが含まれているためバックスラッシュでエスケープしていますが うまく機能していないようです。特殊な記述方法などあるのでしょうか?
コミュニティ名のマクロ例 {$SNMP_COMMUNITY}=qwer¥$qwer
よろしくお願いします。
エスケープせずにそのままコミュニティ名をマクロの値に設定してみてください。
ありがとうございます。 エスケープなしで確認できました。
続けての質問となり恐縮ですが、LLDを活用しSNMPのトラフィック計測を 自動化しようと思っております。 Zabbix標準では、実ポート名とDescriptionの両方が同時に表示することはできないため http://qiita.com/usiusi360/items/0972da38984a82e43e74を参考の上、設定をしたのですが メタ文字が含まれているためうまく動作しません。 なにか策があればご教示ください。よろしくお願いします。
残念ながら、外部チェックの呼び出しでコマンド行を作成する時に、 メタ文字($など)の考慮がされていないため、メタ文字を含むよう なコミュニティ名であった場合、参考にされた記事にあるシェルス クリプトにコミュニティ名をそのまま引き渡すことが難しそうです。
同様の問題が、メディアに登録したアラートスクリプトの呼び出し 処理であったのですが、こちらは、先日リリースされた2.2.10など であれば対応されているようです。
ZBX-4529 Some shell metachars not escaped when call alert script https://support.zabbix.com/browse/ZBX-4529
ということで、現時点ではメタ記号を含むようなコミュニティ名を 利用している場合は、外部チェックを利用してディスカバリを行う ようなことはできなさそうです。
無理矢理実現するためには、実際のコミュニティ名とは別の英数字 のみの値を利用するマクロを別途用意し、それを外部チェックの引 数に指定して、それで呼びだされたスクリプト内で、引数で指定さ れたコミュニティ名に置き換えてsnmpwalkを実行するような方法が 考えられます。
ただし、この方法では、コミュニティ毎にコミュニティ名と変数の 2つの値を設定しなければなりませんし、新規にコミュニティが増 えた際に呼び出すスクリプトに条件分岐の追加が必要となりますの で管理が面倒になってしまうと思われます。
ありがとうございます。 コミュニティ名の置き換えをまずは実施してみます。 メタ文字が問題だとはっきりわかって助かりました。 ご丁寧にありがとうございました。
アカウント名 korira1303
Zabbix関連
TNK - 投稿数: 4769
エスケープせずにそのままコミュニティ名をマクロの値に設定してみてください。
korira1303 - 投稿数: 3
ありがとうございます。
エスケープなしで確認できました。
続けての質問となり恐縮ですが、LLDを活用しSNMPのトラフィック計測を
自動化しようと思っております。
Zabbix標準では、実ポート名とDescriptionの両方が同時に表示することはできないため
http://qiita.com/usiusi360/items/0972da38984a82e43e74を参考の上、設定をしたのですが
メタ文字が含まれているためうまく動作しません。
なにか策があればご教示ください。よろしくお願いします。
TNK - 投稿数: 4769
残念ながら、外部チェックの呼び出しでコマンド行を作成する時に、
メタ文字($など)の考慮がされていないため、メタ文字を含むよう
なコミュニティ名であった場合、参考にされた記事にあるシェルス
クリプトにコミュニティ名をそのまま引き渡すことが難しそうです。
同様の問題が、メディアに登録したアラートスクリプトの呼び出し
処理であったのですが、こちらは、先日リリースされた2.2.10など
であれば対応されているようです。
ZBX-4529
Some shell metachars not escaped when call alert script
https://support.zabbix.com/browse/ZBX-4529
ということで、現時点ではメタ記号を含むようなコミュニティ名を
利用している場合は、外部チェックを利用してディスカバリを行う
ようなことはできなさそうです。
無理矢理実現するためには、実際のコミュニティ名とは別の英数字
のみの値を利用するマクロを別途用意し、それを外部チェックの引
数に指定して、それで呼びだされたスクリプト内で、引数で指定さ
れたコミュニティ名に置き換えてsnmpwalkを実行するような方法が
考えられます。
ただし、この方法では、コミュニティ毎にコミュニティ名と変数の
2つの値を設定しなければなりませんし、新規にコミュニティが増
えた際に呼び出すスクリプトに条件分岐の追加が必要となりますの
で管理が面倒になってしまうと思われます。
korira1303 - 投稿数: 3
ありがとうございます。
コミュニティ名の置き換えをまずは実施してみます。
メタ文字が問題だとはっきりわかって助かりました。
ご丁寧にありがとうございました。