Installation

La surveillance des dispositifs réseau repose sur l’intégration SNMP incluse dans le package Datadog Agent et prend en charge les trois versions de SNMP : SNMPv1, SNMPv2 et SNMPv3. Lors de la découverte, le port SNMP (par défaut 161) est interrogé. Un dispositif est considéré comme découvert s’il y a une réponse et un profil correspondant.

Pré-requis

Agent v7.32+

Comment cela fonctionne

Le diagramme suivant illustre les ports et protocoles par défaut entre le Datadog Agent et le dispositif surveillé. Pour les métriques SNMP, le Datadog Agent interroge les dispositifs avec l’Autodécouverte ou en fonction de la configuration manuelle de l’adresse IP du dispositif. Le Datadog Agent, configuré avec NDM et déployé sur site ou dans le cloud, consolide toutes les données collectées sur les dispositifs et le réseau de votre infrastructure et les envoie à Datadog via HTTPS sur le port 443. Cela fournit une observabilité unifiée et complète des métriques, des journaux, des traces, des moniteurs et des tableaux de bord.

Diagramme NDM montrant le flux pour l'interrogation des dispositifs SNMP.

Prochaines étapes

Suivez les instructions ci-dessous pour configurer Datadog afin de collecter des métriques SNMP à partir de vos dispositifs réseau.

Configuration

La fonction Network Device Monitoring de Datadog permet de recueillir des métriques à partir de périphériques individuels, ou de découvrir automatiquement les périphériques (adresses IP uniques) sur un sous-réseau entier.

Choisissez la stratégie de collecte à utiliser en fonction du nombre de périphériques présents sur votre réseau et du degré de dynamisme de celui-ci (c’est-à-dire la fréquence à laquelle des périphériques sont ajoutés ou retirés) :

Surveillance des dispositifs individuels
Pour les petits réseaux, principalement statiques.
Autodécouverte
Pour les réseaux plus grands ou dynamiques.

Quelle que soit la stratégie de collecte utilisée, tirez parti des profils de périphériques mappés avec un sysObjectID de Datadog pour recueillir automatiquement les métriques pertinentes à partir de vos périphériques.

Surveillance des dispositifs individuels

Pour surveiller des périphériques individuels :

  • Pour SNMPv2, configurez une instance en spécifiant l’adresse IP et la chaîne de communauté du dispositif :

    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'
    
  • Pour SNMPv3, configurez une instance en spécifiant l’adresse IP et les identifiants SNMPv3 du dispositif (selon le cas), par exemple : user, authProtocol, authKey, privProtocol et privKey :

    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'
    

Après la configuration, le Datadog Agent collecte des métriques pertinentes en associant vos dispositifs à l’un des profils d’appareils pris en charge par Datadog.

Pour élargir votre configuration :

  • Ajoutez plus d’instances pour collecter des métriques à partir de plus de dispositifs sur votre réseau.
  • Utilisez l’Autodécouverte si vous devez collecter des métriques à partir de nombreux dispositifs sur un réseau dynamique.

Autodécouverte

Une alternative à la spécification de dispositifs individuels est d’utiliser l’Autodécouverte pour découvrir automatiquement tous les dispositifs sur votre réseau.

L’Autodécouverte interroge chaque IP du sous-réseau configuré et vérifie la réponse du dispositif. Ensuite, le Datadog Agent recherche le sysObjectID du dispositif découvert et le mappe à l’un des profils d’appareils pris en charge par Datadog. Les profils contiennent des listes de métriques prédéfinies à collecter pour divers types de dispositifs.

Pour utiliser Autodiscovery avec la fonction Network Device Monitoring :

  1. Installez ou mettez à niveau l’Agent Datadog vers v7.27+. Pour des instructions spécifiques à la plateforme, consultez la documentation de l’Agent Datadog.

  2. Modifiez le fichier de configuration de l’Agent datadog.yaml pour inclure tous les sous-réseaux que Datadog doit analyser. L’exemple de configuration suivant indique les paramètres obligatoires, les valeurs par défaut et des exemples pour Autodiscovery.

  3. En option, activez la dé-duplication des dispositifs lors de l’Autodécouverte de l’Agent. Cette fonctionnalité est désactivée par défaut et nécessite la version de l’Agent 7.67+.

    network_devices:
      autodiscovery:
        use_deduplication: true
    
network_devices:
  autodiscovery:
    ## use_deduplication - boolean - optional - default: false
    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:
    ## use_deduplication - boolean - optional - default: false
    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'

Remarque : L’Agent Datadog configure automatiquement la vérification SNMP avec chacune des adresses IP découvertes. Un dispositif découvert est une adresse IP qui répond avec succès lorsqu’elle est interrogée via SNMP.

Remarque : Assurez-vous d’utiliser l’Agent 7.54 ou une version ultérieure pour cette syntaxe. Pour les versions précédentes, consultez le config_template.yaml précédent.

Remplacer la vitesse de l’interface

Par défaut, la vérification SNMP rapporte la vitesse de l’interface telle que détectée par le dispositif. Si la vitesse du port physique diffère de la bande passante réelle du circuit, par exemple, un port physique de 1 Gbps provisionné pour un circuit de 50 Mbps, vous pouvez remplacer la vitesse entrante et sortante pour des interfaces spécifiques en utilisant interface_configs.

Ajoutez interface_configs à la configuration de votre instance dans snmp.d/conf.yaml :

instances:
  - ip_address: '1.2.3.4'
    community_string: 'sample-string'
    interface_configs:
      - match_field: name      # match by interface name or ifIndex
        match_value: eth0      # case-sensitive
        in_speed: 50000000     # inbound speed in bytes per second (50 Mbps)
        out_speed: 50000000    # outbound speed in bytes per second (50 Mbps)

Pour toutes les options disponibles interface_configs, consultez le exemple snmp.d/conf.yaml.

Validation

Exécutez la sous-commande d’état de l’Agent et recherchez snmp dans la section Vérifications.

Lectures complémentaires