インストール

ネットワークデバイスモニタリングは Datadog Agent パッケージに含まれている SNMP インテグレーションに依存します。Agent v7.32+ を使用していることを確認してください。追加のインストールは必要ありません。

構成

Datadog ネットワークデバイスモニタリングは、個々のデバイスからのメトリクスの収集、またはサブネット全体のデバイス (一意の IP アドレス) の自動検出をサポートします。

ネットワーク上に存在するデバイスの数、およびネットワークがどれだけ動的か (つまり、デバイスが追加または削除される頻度) に基づき、収集戦略を選択します。

収集戦略に関係なく、Datadog の sysObjectID マップデバイスプロファイルを利用して、デバイスから関連するメトリクスを自動的に収集できます。

個々のデバイスの監視

個々のデバイスを監視するには

  • SNMPv2 の場合 デバイスの IP アドレスおよびデバイスの_コミュニティ文字列_を指定してインスタンスを構成します。

    init_config:
      loader: core  # use core check implementation of SNMP integration. recommended
      use_device_id_as_hostname: true  # recommended
    instances:
    - ip_address: '1.2.3.4'
      community_string: 'sample-string'  # enclose with single quote
      tags:
        - 'key1:val1'
        - 'key2:val2'
    
  • SNMPv3 の場合は、デバイスの IP アドレスおよび SNMPv3 資格情報 (デバイスに応じて) を指定してインスタンスを構成します。例: userauthProtocolauthKeyprivProtocolprivKey:

    init_config:
      loader: core  # use core check implementation of SNMP integration. recommended
      use_device_id_as_hostname: true  # recommended
    instances:
    - ip_address: '1.2.3.4'
      snmp_version: 3  # optional, if omitted which version of SNMP you are using is auto-detected
      user: 'user'
      authProtocol: 'SHA256'  # choices: MD5, SHA, SHA224, SHA256, SHA384, SHA512
      authKey: 'fakeKey'  # enclose with single quote
      privProtocol: 'AES256'  # choices: DES, AES, AES192, AES192C, AES256, AES256C
      privKey: 'fakePrivKey'  # enclose with single quote
      tags:
        - 'key1:val1'
        - 'key2:val2'
    

セットアップしたら、Agent は、Datadog のデバイスプロファイルの 1 つとデバイスを照合して、関連するメトリクスを収集します。

セットアップを拡張するには

  • さらにインスタンスを追加して、ネットワーク上のより多くのデバイスからメトリクスを収集します。
  • 動的ネットワーク上の多数のデバイスからメトリクスを収集する必要がある場合は、オートディスカバリーを使用します。

オートディスカバリー

An alternative to specifying individual devices is to use Autodiscovery to automatically discover all the devices on your network.

オートディスカバリーは、構成されたサブネット上の各 IP をポーリングし、デバイスからの応答を確認します。次に、Datadog Agent は、検出されたデバイスの sysObjectID を検索し、それを Datadog のデバイスプロファイルの 1 つにマップします。このプロファイルには、さまざまなタイプのデバイスについて収集される事前定義メトリクスのリストが含まれます。

ネットワークデバイスモニタリングでオートディスカバリーを使用するには

  1. Datadog Agent をインストールまたは v7.27 以上にアップグレードします。プラットフォーム固有の手順については、Datadog Agent のドキュメントを参照してください。

  2. datadog.yaml Agent コンフィギュレーションファイルを編集し、Datadog がスキャンするすべてのサブネットを含めます。以下のサンプルコンフィギュレーションは、オートディスカバリーに必要なパラメーター、デフォルト値、そして例を示しています。

network_devices:
  autodiscovery:
    workers: 100  # number of workers used to discover devices concurrently
    discovery_interval: 3600  # interval between each autodiscovery in seconds
    loader: core  # use core check implementation of SNMP integration. recommended
    use_device_id_as_hostname: true  # recommended
    configs:
      - network_address: 10.10.0.0/24  # CIDR subnet
        loader: core
        snmp_version: 2
        port: 161
        community_string: '***'  # enclose with single quote
        tags:
        - "key1:val1"
        - "key2:val2"
      - network_address: 10.20.0.0/24
        loader: core
        snmp_version: 2
        port: 161
        community_string: '***'
        tags:
        - "key1:val1"
        - "key2:val2"
network_devices:
  autodiscovery:
    workers: 100  # number of workers used to discover devices concurrently
    discovery_interval: 3600  # interval between each autodiscovery in seconds
    loader: core  # use core check implementation of SNMP integration. recommended
    use_device_id_as_hostname: true  # recommended
    configs:
      - network_address: 10.10.0.0/24  # CIDR subnet
        snmp_version: 3
        user: 'user'
        authProtocol: 'SHA256'  # choices: MD5, SHA, SHA224, SHA256, SHA384, SHA512
        authKey: 'fakeKey'  # enclose with single quote
        privProtocol: 'AES256'  # choices: DES, AES, AES192, AES192C, AES256, AES256C
        privKey: 'fakePrivKey'  # enclose with single quote
        tags:
          - 'key1:val1'
          - 'key2:val2'
      - network_address: 10.20.0.0/24
        snmp_version: 3
        user: 'user'
        authProtocol: 'SHA256'
        authKey: 'fakeKey'
        privProtocol: 'AES256'
        privKey: 'fakePrivKey'
        tags:
          - 'key1:val1'
          - 'key2:val2'

: Datadog Agent は検出された各 IP の SNMP チェックを自動で構成します。検出されたデバイスは、SNMP を使用してポールされた際に正常に応答する IP となります。

Note: Make sure you are on Agent 7.53+ for this syntax. For previous versions, see the previous config_template.yaml

Ping

When configured, the SNMP check can also send ICMP pings to your devices. This can be configured for individual as well as Autodiscovered devices.

Setup

  1. Install or upgrade the Datadog Agent to v7.52+. For platform specific instructions, see the Datadog Agent documentation.

  2. Edit the snmp.d/conf.yaml file in the conf.d/ folder at the root of your Agent’s configuration directory for individual devices, or the datadog.yaml Agent configuration file for Autodiscovery. See the sample snmp.d/conf.yaml for all available configuration options.

  3. Linux Only: If you’re receiving errors when running ping, you may need to configure the integration to send pings using a raw socket. This requires elevated privileges and is done using the Agent’s system-probe. See the linux.use_raw_socket system-probe configuration below.

Note: For Autodiscovery, Datadog does not ping devices that do not respond to SNMP.

  • To apply ping settings to all manually configured devices, add the ping configuration in the init_config section.

        init_config:
          loader: core
          use_device_id_as_hostname: true
        instances:
        - ip_address: '1.2.3.4'
          community_string: 'sample-string'
          tags:
            - 'key1:val1'
            - 'key2:val2'
          ping:
            enabled: true            # (default false) enable the ping check
            linux:                   # (optional) Linux specific configuration
              use_raw_socket: true   # (optional, default false) send pings using a raw socket (see step 3 above)
    
  • To apply ping settings to all Autodiscovery subnets, create the ping configuration under the network_devices.autodiscovery section.

    network_devices:
    autodiscovery:
        workers: 100
        discovery_interval: 3600
        loader: core
        use_device_id_as_hostname: true
        configs:
          - network_address: 10.10.0.0/24
            loader: core
            snmp_version: 2
            port: 161
            community_string: '***'
            tags:
            - "key1:val1"
            - "key2:val2"
            ping:
              enabled: true            # (default false) enable the ping check
              linux:                   # (optional) Linux specific configuration
                use_raw_socket: true   # (optional, default false) send pings using a raw socket (see step 3 above)
    

If you’re on Linux and want to use raw sockets for ping, you must also enable ping in the system-probe configuration file in addition to the Agent configuration.

Edit /etc/datadog-agent/system-probe.yaml to set the enable flag to true.

ping:
  enabled: true

After successfully enabling ping on your network devices, the Ping State column in the UI is enabled, allowing you to see the ping state statuses for your devices:

The status column in the NDM UI showing the Ping state toggle enabled with the ping state status column highlighted

The following are the status names in the Ping State column and their descriptions:

Status nameDescription
UnreachableDevice is unreachable through ping.
UnmonitoredPing has not been configured for this device.
OkDevice is reachable through ping.
N/AThe devices do not support ping.

Metrics collected

The following metrics are made available after enabling ping:

Metric nameDescription
networkdevice.ping.avg_rttAverage round-trip time
networkdevice.ping.reachableDevice reachability status
networkdevice.ping.packet_lossPacket loss percentage
networkdevice.ping.unreachableDevice unreachable status

Validation

Run the Agent’s status subcommand and look for snmp under the Checks section.

Further Reading

PREVIEWING: may/unit-testing