SNMPカバレッジを強化するエンタープライズ固有のユーティリティMIB
ユーティリティMIB
オブジェクトIDが{jnxUtilMibRoot 1}のジュニパーネットワークスエンタープライズ固有のUtility MIBは、カウンター、整数値、文字列のオブジェクトを定義します。このユーティリティ MIB には、以下の 5 種類のデータ タイプごとに 1 つのテーブルが含まれています。
-
32ビットカウンター
-
64ビットカウンター
-
符号付き整数
-
符号なし整数
-
オクテット文字列
これらのコンテナ MIB オブジェクトを使用して、SNMP 操作でサポートされていないデータを格納できます。これらのオブジェクトのデータを入力するには、CLIコマンドを使用するか、OpスクリプトやCLIコマンドを呼び出せるRPC APIを使用します。
各データタイプには、データ入力時に定義される任意のASCII名と、最後にデータインスタンスを変更した時間を示すタイムスタンプがあります。この MIB のダウンロード可能なバージョンについては、 ルーティング ポリシー、ファイアウォール フィルター、およびトラフィック ポリサー ユーザー ガイドを参照してください。
エンタープライズ固有のユーティリティ MIB オブジェクトの詳細については、以下のトピックを参照してください。
エンタープライズ固有のユーティリティ MIB を使用して SNMP カバレッジを強化
Junos OSには、パフォーマンスメトリックと監視オプションが組み込まれていますが、パフォーマンスメトリックをカスタマイズする必要がある場合があります。標準監視システムを介してこのようなカスタマイズされたデータを簡単に監視できるように、Junos OS にはエンタープライズ固有の Utility MIB が用意されています。このデータを使用して、このデータを保存できるため、SNMP サポートを拡張して、選択したデータの管理と監視を行うことができます。
以下の CLI コマンドで、Utility MIB オブジェクト値を設定およびクリアできます。
-
request snmp utility-mib set instance name object-type <counter | counter 64 | integer | string | unsigned integer> object-value value -
request snmp utility-mib clear instance name object-type <counter | counter 64 | integer | string | unsigned integer>
request snmp utility-mib <set | clear>コマンドのinstance nameオプションは、データインスタンスの名前を指定し、データの主な識別子となります。object-type <counter | counter 64 | integer | string | unsigned integer>オプションではオブジェクトタイプを指定し、object-value valueオプションではオブジェクトの値を設定できます。
ユーティリティ MIB データの入力プロセスを自動化するには、イベント ポリシーとイベント スクリプトを組み合わせて使用できます。以下の例は、イベント ポリシーが 1 時間ごとにshow system buffersを実行し、イベント スクリプト(check-mbufs.slax)を実行して Utility MIB オブジェクトにshow system buffersデータを格納する構成を示しています。
イベント ポリシーの設定
1 時間ごとに show system buffers コマンドを実行し、 check-mbufs.slax を呼び出して show system buffers データを Utility MIB オブジェクトに格納するイベントポリシーを設定するには、[edit] 階層レベルで以下のステートメントを含めます。
event-options {
generate-event {
1-HOUR time-interval 3600;
}
policy MBUFS {
events 1-HOUR;
then {
event-script check-mbufs.slax; # script stored at /var/db/scripts/event/
}
}
event-script {
file check-mbufs.slax;
}
}
check-mbufs.slax スクリプト
以下の例は、/var/db/scripts/event/に格納されているcheck-mbufs.slaxスクリプトを示しています。
------ script START ------
version 1.0;
ns junos = "http://xml.juniper.net/junos/*/junos";
ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";
ns ext = "http://xmlsoft.org/XSLT/namespace";
match / {
<op-script-results>{
var $result = jcs:invoke("get-buffer-informations");
var $rpc = <request-snmp-utility-mib-set> {
<object-type> "integer";
<instance> "current-mbufs";
<object-value> $result/current-mbufs;
}
var $res = jcs:invoke($rpc);
expr jcs:syslog("external.info", $res/..//snmp-utility-mib-results/snmp-utility-mib-result);
}
}
------ script END ------
以下のコマンドを実行すると、前の例で示したイベント ポリシーとスクリプトの結果としてユーティリティ MIB に格納されたデータを確認できます。
user@host> show snmp mib walk jnxUtilData ascii jnxUtilIntegerValue."current-mbufs" = 0 jnxUtilIntegerTime."current-mbufs" = 07 da 05 0c 03 14 2c 00 2d 07 00 user@caramels>
show snmp mib walkコマンドはQFabricシステムでは使用できませんが、外部のSNMPクライアントアプリケーションを使用してこの操作を実行できます。