Datadog-SNMP Integration

SNMP インテグレーションの設定

SNMP Checkを使用するには、conf.dディレクトリにあるsnmp.yaml.exampleをコピーし、snmp.yamlを追加します。

デバイスを監視するには、少なくともIP_ADDRESSと認証方法を指定する必要があります。又、アクセスするポート番号の指定がない場合は、デフォルトとして161番ポートを使用します。

Datadog Agentは、瞬間値や積算値をSNMPから取得出来ます。次に示す方法で監視対象となるmetricsを、それぞれのデバイスに対して指定してください:

MIBとエクスポートしたいシンボルを指定します。

metrics:
    - MIB: UDP-MIB
      symbol: udpInDatagrams

OIDとDatadogで使用するメトリクス名を指定します。

metrics:
    - OID: 1.3.6.1.2.1.6.5
      name: tcpActiveOpens

MIBと情報を取得するテーブルを指定します。

metrics:
    - MIB: IF-MIB
      table: ifTable
      symbols:
        - ifInOctets
      metric_tags:
        - tag: interface
          column: ifDescr

この方法により、テーブルの全行の情報が取得でき、タグ付けすることが出来ます。symbolsのリストを使って取得するメトリクスを指定し、metric_tagsのリストを使ってそれらのメトリクスに付与しておくタグを指定します。

この例では、各インターフェイスで受信した通信量のレートを取得し、ifDescr列のインターフェース毎にinterface:eth0のタグを付与します。

metrics:
    - MIB: IP-MIB
      table: ipSystemStatsTable
      symbols:
        - ipSystemStatsInReceives
      metric_tags:
        - tag: ipversion
          index: 1

必要に応じて行のインデックスに基づいてタグを付与することも出来ます。この例では、最初の行のインデックスがIPのバージョン(IPv6, IPv4)を見分け、タグ付けするように指定しています。

独自MIBの変換

独自のMIBを使用するには、ysnmp形式に変換する必要があります。この変換には、pysnmpのパッケージに含まれているbuild-pysnmp-mibsを使うことが出来ます。

このbuild-pysnmp-mibsを使うには、smidumpがインストールされている必要があります。従って、smidumpを包含しているlibsmi2ldblパッケージが正しくインストールできていることを確認して下さい。更に、MIBが依存している全てのファイルがmibディレクトリに設置されていることも確認して下さい。(依存ファイルがない場合は、正しく変換ができません。)

変換の実行

$ build-pysnmp-mibs -o YOUR-MIB.py YOUR-MIB.mib

OUR-MIB.mibは、変換したいMIBファイルの名前です。

pysmpで変換した全てのmibファイルを任意のフォルダーに移動し、そのフォルダーへのパスをsnmp.yamlファイルのinit_configセクションに指定します。