GroovySNMPアクセス

最終更新日: 09 年 2023 月 XNUMX 日

一部のタイプのSNMP監視では、SNMPデータを取得するためにGroovyを使用する必要があります。 たとえば、一般的なユースケースは、さまざまなノード間でSNMP値を集約する必要があるデータソースです。

A 完全なリファレンス LogicMonitorのGroovySNMPメソッドの概要は、このページの下部にありますが、この機能がどのように機能するかを示すいくつかの例を次に示します。

例1-SNMPv1 / v2cを使用してデバイスのsysDescrを取得する

// logicmonitorsnmpヘルパークラスをインポートしますimportcom.santaba.agent.groovyapi.snmp.Snmp; //デバイスプロパティからsnmpホストを取得しますdefhost = hostProps.get( 'system.hostname'); //指定されたOIDの値を取得しますdefoid_value = Snmp.get(host、 ".1.3.6.1.2.1.1.1.0"); //値を出力しますprintlnoid_value; //正常に実行されたことを示す応答コードで戻りますreturn(0);

このスクリプトは、次のようなものを出力します。

Linux localhost.localdomain 2.6.18-194.26.1.el5#1 SMP Tue Nov 9 12:54:40 EST 2010 i686

例2– SNMPv1を使用してLinuxデバイスのすべてのネットワークインターフェイスを一覧表示する

// logicmonitorsnmpヘルパークラスをインポートしますimportcom.santaba.agent.groovyapi.snmp.Snmp; //デバイスプロパティからsnmpホストとコミュニティを取得しますdefhost = hostProps.get( 'system.hostname'); def comm = hostProps.get( 'snmp.community'); // OIDツリーをウォークしますdefsnmp_walk = Snmp.walk(host、comm、 "v1"、 ".1.3.6.1.2.1.2.2.1.2"); //生の出力を表示しますprintln "Snmp.walkからの生の出力:\ n" + snmp_walk; //各ネットワークインターフェイスを表示しますprintln "\ nNICs:" // oidツリーによって返される各行を反復処理しますsnmp_walk.eachLine {line-> //行をトークン化し、リーフoidをその値から分離しますtokens = line.split(/ = /、2); //値を出力しますprintlntokens [1]; } //正常に実行されたことを示す応答コードで戻りますreturn(0);

上記の出力は次のようになります。

Snmp.walkからの生の出力:.1.3.6.1.2.1.2.2.1.2.3 = sit0 .1.3.6.1.2.1.2.2.1.2.2 = eth0 .1.3.6.1.2.1.2.2.1.2.1 = lo NIC :sit0 eth0 lo

例3– SNMPv3を使用するLinuxデバイスのすべてのネットワークインターフェイスを一覧表示する

// logicmonitorsnmpヘルパークラスをインポートしますimportcom.santaba.agent.groovyapi.snmp.Snmp; //デバイスプロパティからsnmpホストを取得しますdefhost = hostProps.get( 'system.hostname'); // snmpv3パラメーターのハッシュマップをキー/値のペアとして入力しますsnmp_options = new HashMap(); snmp_options.put( "snmp.version"、 "v3"); snmp_options.put( "snmp.security"、 "LogicMonitor"); snmp_options.put( "snmp.auth"、 "MD5"); snmp_options.put( "snmp.authToken"、 "exampleauth"); snmp_options.put( "snmp.priv"、 "DES"); snmp_options.put( "snmp.privToken"、 "examplepriv"); // snmpウォークを実行しますdefsnmp_walk = Snmp.walk(host、 ".1.3.6.1.2.1.2.2.1.2"、snmp_options、3000)//出力で何かを実行します...

上記のスクリプトは前の例と同じように動作しますが、SNMPv3認証と暗号化を使用します。

SNMPメソッドリファレンス

SNMP v1 / v2

Snmp.get(host、[community]、[version]、oid、[timeout])– v1またはv2エージェントから単一のSNMPOID値を取得します

  • @param文字列 host –デバイスのホスト名またはIPアドレス
  • @param文字列 コミュニティ –オプションのsnmpコミュニティ名。 省略した場合、LogicMonitorは、対応するデバイスレコードのsnmp.communityプロパティから適切な値を決定しようとします。それ以外の場合は、デフォルトで「public」になります。
  • @param文字列 バージョン –オプションのsnmpバージョン。 コミュニティが提供されている場合にのみ必要です。 省略した場合、LogicMonitorは、対応するデバイスレコードのsnmp.versionプロパティから適切な値を決定しようとします。
  • @param文字列 OID –クエリするsnmp oid
  • @param 整数 タイムアウト –ミリ秒単位の接続タイムアウト
  • @return文字列 oid_value エージェントから返されたこのSNMPOIDの値

Snmp.walk(host、[community]、[version]、tree_oid、[timeout]、port)– v1またはv2エージェントからSNMPOIDツリーをウォークします

  • @param文字列 host –デバイスのホスト名またはIPアドレス
  • @param文字列 コミュニティ –(オプション)snmpコミュニティ名。 省略した場合、LogicMonitorは、対応するデバイスレコードのsnmp.communityプロパティから適切な値を決定しようとします。それ以外の場合は、デフォルトで「public」になります。
  • @param文字列 バージョン –(オプション)snmpバージョン。 コミュニティが提供されている場合にのみ必要です。 省略した場合、LogicMonitorは、対応するデバイスレコードのsnmp.versionプロパティから適切な値を決定しようとします。
  • @param 文字列 tree_OID –歩くsnmpツリーOID
  • @param 整数 タイムアウト –(オプション)ミリ秒単位の接続タイムアウト
  • @return文字列 walk_output XNUMX行にXNUMXつのエントリで「=」で区切られたSNMPウォークによって返されるOIDと値
  • @param文字列 ポート–(オプション)アクセスするポート。

SNMP v3

Snmp.get(host、oid、[options]、[timeout])– v3エージェントから単一のSNMPOID値を取得します

  • @param文字列 host –デバイスのホスト名またはIPアドレス
  • @param文字列 OID –クエリするsnmp oid
  • @param マップ オプション – オプションの SNMP v3 オプション マップ名。 省略した場合、LogicMonitor は、最初のパラメータで指定されたホスト名に一致するデバイス レコードのプロパティから適切な値を決定しようとします。
  • @param 整数 タイムアウト –ミリ秒単位の接続タイムアウト
  • @return文字列 oid_value エージェントから返されたこのSNMPOIDの値

Snmp.walk(host、tree_oid、[options]、[timeout])– v3エージェントからSNMPOIDツリーをウォークします

  • @param文字列 host –デバイスのホスト名またはIPアドレス
  • @param文字列 ツリーオイド –歩くsnmpツリーOID
  • @param マップ オプション – オプションの SNMP v3 オプション マップ名。 省略した場合、LogicMonitor は、最初のパラメータで指定されたホスト名に一致するデバイス レコードのプロパティから適切な値を決定しようとします。
  • @param 整数 タイムアウト –ミリ秒単位の接続タイムアウト
  • @return文字列 walk_output XNUMX行にXNUMXつのエントリで「=」で区切られたSNMPウォークによって返されるOIDと値
  • @param文字列 ポート–(オプション)アクセスするポート。

SNMP v3オプションマップには、次のパラメータが必要です。

  • snmp.バージョン –使用されているバージョン(v3)
  • SNMP.セキュリティ – snmpv3セキュリティ名
  • SNMP.認証 – snmp v3認証タイプ(MD5 | SHA)
  • snmp.authToken – snmpv3認証パスフレーズ
  • snmp.priv – snmp v3プライバシータイプ(AES | DES)
  • snmp.privToken – snmpv3プライバシー暗号化キー
記事上で