Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Vous pouvez utiliser notre processus d'installation guidé pour installer l'agent de monitoring SNMP, ou installer l'agent manuellement. Ce document couvre les prérequis pour démarrer ce processus d'installation et une procédure étape par étape de vos options d'installation.
Prérequis
Avant de pouvoir commencer, vous devez créer un compte New Relic. Si vous choisissez d'installer l'agent manuellement, vous avez également besoin de :
Il est recommandé d'activer l'agent de monitoring SNMP en tant que conteneur pour Docker ou Podman. Si vous en avez besoin, vous pouvez également l'installer en tant que service baremetal sous Linux.
Nous vous recommandons d'utiliser un conteneur Docker pour déployer l'agent de monitoring SNMP. Pour l'utiliser, vous avez besoin de :
Possibilité de lancer un nouveau conteneur via ligne de commande
Si vous utilisez Linux pour installer l’agent en tant que service, vous avez besoin de :
Accès SSH à l'hôte
Accès pour installer/supprimer des applications et des services
L'un de ces systèmes d'exploitation pris en charge :
Processeurs basés sur x84_64/amd64 :
CentOS 8
Debian 12 (Bookworm)
Debian 11 (Bullseye)
Debian 10 (Buster)
RedHat Enterprise Linux 9 à 9.5
Ubuntu 20.04 (Focal LTS)
Ubuntu 22.04 (Jammy LTS)
Ubuntu 23.04 (lunaire)
Important
Pour recevoir des interruptions SNMP, l'agent doit se lier à UDP 162. Dans une installation basée sur l'hôte, la commande suivante sera incluse pendant le processus d'installation. Une fois exécuté, KTranslate sera exécuté avec des privilèges élevés.
Il existe également des conditions préalables pour votre environnement réseau et les périphériques réseau eux-mêmes.
Vous devez configurer les périphériques cibles pour accepter l'interrogation SNMP à partir de l'adresse IP de l'hôte de l'agent. Vous pouvez trouver quelques exemples de configuration SNMP de base ici (ce n'est pas une liste exhaustive) :
Notre conteneur monitoring réseau prend en charge toutes les versions principales de SNMP (v1, v2c et v3), y compris Traps et Informs. De plus, SNMP v3 prend en charge les paramètres d’authentification et de confidentialité suivants :
Paramètre
Protocole
Authentification
NoAuth
Authentification
MD5
Authentification
SHA
Authentification
SHA224
Authentification
SHA256
Authentification
SHA384
Authentification
SHA512
Confidentialité
NoPriv
Confidentialité
DES
Confidentialité
AES
Confidentialité
AES192
Confidentialité
AES256
Confidentialité
AES192C
Confidentialité
AES256C
Conseil
Nous vous recommandons d'utiliser des chaînes de communauté/authentification en lecture seule avec SNMP.
Configurer monitoring des données SNMP dans New Relic
Copiez le fichier snmp-base.yaml dans le répertoire local $HOME de votre utilisateur Docker et supprimez le conteneur en exécutant :
bash
$
cd ~
$
id=$(docker create kentik/ktranslate:v2)
$
dockercp$id:/etc/ktranslate/snmp-base.yaml .
$
dockerrm-v$id
Modifiez le fichier snmp-base.yaml et définissez les attributs discovery.cidrs et discovery.default_communities sur les valeurs appropriées pour votre réseau.
Conseil
Nous vous recommandons de définir discovery.add_mibs: true pour automatiser l'ajout de toutes les MIB détectées dans l'attribut global.mibs_enabled . De plus, nous vous recommandons de définir discovery.check_all_ips: true pour éviter les problèmes de détection sur les appareils avec des mesures de sécurité renforcées.
Démarrez l'agent monitoring du réseau pour interroger les périphériques cibles et écouter les messages d'interruption SNMP entrants. Remplacez $CONTAINER_SERVICE par un nom unique pour le conteneur et remplacez$YOUR_NR_LICENSE_KEY et $YOUR_NR_ACCOUNT_ID par vos valeurs :
bash
$
docker run -d--name ktranslate-$CONTAINER_SERVICE -\
Il n’est pas nécessaire d’exécuter un agent dédié pour la collecte des interruptions, car tous les agents d’interrogation SNMP exécuteront un écouteur passif. Par défaut, le conteneur écoutera sur le port 162 de l'hôte (UDP) ; mais vous pouvez modifier la modélisation du port publié dans la commande docker run - -p 162:1620/udp. Si vous souhaitez mettre en place un conteneur dédié, vous pouvez suivre les étapes de cette section.
Examinez les données de performances de votre réseau dans l’interface utilisateur New Relic .
Sur un hôte sur lequel Podman est installé, téléchargez l'image ktranslate en exécutant la commande suivante :
Copiez le fichier snmp-base.yaml dans le répertoire local $HOME de votre utilisateur Podman et supprimez le conteneur en exécutant :
bash
$
cd ~
$
id=$(podman create kentik/ktranslate:v2)
$
podmancp$id:/etc/ktranslate/snmp-base.yaml .
$
podmanrm-v$id
Modifiez le fichier snmp-base.yaml et définissez les attributs discovery.cidrs et discovery.default_communities sur les valeurs appropriées pour votre réseau.
Conseil
Nous vous recommandons de définir discovery.add_mibs: true pour automatiser l'ajout de toutes les MIB détectées dans l'attribut global.mibs_enabled . De plus, nous vous recommandons de définir discovery.check_all_ips: true pour éviter les problèmes de détection sur les appareils avec des mesures de sécurité renforcées.
Les conteneurs Podman sans racine ne peuvent pas se lier aux ports inférieurs à 1024. Pour gérer la redirection de paquets pour les messages d'interruption, vous devez créer une règle iptables qui cible les paquets arrivant sur le port UDP 162 :
Démarrez l'agent monitoring du réseau pour interroger les périphériques cibles et écouter les messages d'interruption SNMP entrants. Remplacez $CONTAINER_SERVICE par un nom unique pour le conteneur et remplacez$YOUR_NR_LICENSE_KEY et $YOUR_NR_ACCOUNT_ID par vos valeurs :
bash
$
podman run -d--name ktranslate-$CONTAINER_SERVICE\
Il n’est pas nécessaire d’exécuter un agent dédié pour la collecte des interruptions, car tous les agents d’interrogation SNMP exécuteront un écouteur passif. Par défaut, le conteneur écoutera sur le port 162 de l'hôte (UDP), mais vous pouvez modifier la modélisation du port publié dans la commande docker run - -p 162:1620/udp. Si vous souhaitez configurer un conteneur dédié, vous pouvez suivre les étapes de cette section.
Examinez les données de performances de votre réseau dans l’interface utilisateur New Relic .
En fonction de votre gestionnaire de paquets, utilisez l'une des commandes ci-dessous pour installer ktranslate
Modifiez le fichier snmp-base.yaml et définissez les attributs discovery.cidrs et discovery.default_communities sur les valeurs appropriées pour votre réseau.
Conseil
Nous vous recommandons de définir discovery.add_mibs: true pour automatiser l'ajout de toutes les MIB découvertes dans l'attribut global.mibs_enabled . De plus, il est recommandé de définir discovery.check_all_ips: true pour éviter les problèmes de découverte sur les appareils avec des postures de sécurité renforcées.
Redémarrez le service ktranslate pour appliquer vos modifications au fichier snmp-base.yaml :
bash
$
sudo systemctl restart ktranslate
Examinez les données de performances de votre réseau dans l’interface utilisateur New Relic .
Installation facultative pour les interruptions SNMP
Dans certaines circonstances, il est avantageux d'isoler la collection de messages d'interruption SNMP dans un conteneur dédié. Cela est utile pour contrôler l’échelle dans les grands environnements ainsi que pour créer une empreinte monitoring distribuée avec un risque moindre de pannes complètes en cas de défaillance d’un conteneur. Ce processus n'est pas pris en charge avec l'installation du service Linux.
Remarque : vous ne pouvez pas monitorer à la fois les interruptions v2c et v3 avec le même conteneur. Si vous souhaitez monitorer les deux versions de trap, vous devrez lancer un conteneur dédié secondaire et configurer vos messages de trap pour qu'ils soient envoyés sur un port autre que celui par défaut. Par exemple, si vous avez v2c traps déjà configurés sur le port 162:
Configurez vos traps v3 pour qu'ils soient envoyés sur un autre port tel que 163.
Modifiez légèrement les arguments du conteneur Docker, de -p 162:1620/udp à -p $src:1620/udp où $src est le port sur lequel vos pièges v3 arrivent.
Sur un hôte Linux avec Docker installé, créez le fichier de configuration que vous utiliserez pour exécuter le conteneur :
bash
$
tee"./traps-base.yaml"> /dev/null <<'EOF'
$
devices: {}
$
trap:
$
listen: '0.0.0.0:1620'
$
discovery: {}
$
global:
$
poll_time_sec: 300
$
timeout_ms: 30000
$
EOF
Par défaut, le conteneur utilisera l'adresse IP source comme nom de périphérique dans New Relic. Vous pouvez contrôler cela en modélisant les appareils manuellement dans votre fichier configuration :
devices:
# This key and the corresponding 'device_name'
# need to be unique for each device
trap_device1:
device_name: trap_device1
device_ip: x.x.x.x/yy
provider: kentik-trap-device
trap:
listen:'0.0.0.0:1620'
discovery:{}
global:
poll_time_sec:300
timeout_ms:30000
Conseil
Vous pouvez également contrôler les noms des périphériques en fournissant un argument de conteneur -dns au moment de l'exécution. Cela permettra au conteneur d’exécuter une recherche sur l’adresse IP source et d’essayer la résolution de nom.
Démarrez l'agent monitoring du réseau pour écouter les messages d'interruption SNMP entrants. Remplacez $CONTAINER_SERVICE par un nom unique pour le conteneur et remplacez$YOUR_NR_LICENSE_KEY et $YOUR_NR_ACCOUNT_ID par vos valeurs :
bash
$
docker run -d--name ktranslate-$CONTAINER_SERVICE -\
Cela démarrera un conteneur qui écoutera les messages d'interruption SNMP sur le port 162/udp.
Examinez vos résultats dans New Relic en interrogeant le type d’événement KSnmpTrap :
FROM KSnmpTrap SELECT*
Conseil
Il est important de se rappeler que les messages d'interruption SNMP sont des événements générés par le périphérique source. Si vous ne voyez pas de messages dans New Relic, assurez-vous que vos appareils ont réellement créé des messages. La documentation du fournisseur sur l’envoi d’exemples de messages varie, mais vous pouvez utiliser snmptrap sur votre hôte Docker pour envoyer un message de test comme celui-ci :
bash
$
snmptrap -v 2c -c public localhost ''1.3.6.1.4.1.8072.2.3.0.1 1.3.6.1.4.1.8072.2.3.2.1 i 123456
Sur un hôte Linux avec Docker installé, créez le fichier de configuration que vous utiliserez pour exécuter le conteneur :
bash
$
tee"./traps-base.yaml"> /dev/null <<'EOF'
$
devices: {}
$
trap:
$
listen: '0.0.0.0:1620'
$
discovery: {}
$
global:
$
poll_time_sec: 300
$
timeout_ms: 30000
$
EOF
Par défaut, le conteneur utilisera l'adresse IP source comme nom de périphérique dans New Relic. Vous pouvez contrôler cela en modélisant les appareils manuellement dans votre fichier configuration :
devices:
# This key and the corresponding 'device_name'
# need to be unique for each device
trap_device1:
device_name: trap_device1
device_ip: x.x.x.x/yy
provider: kentik-trap-device
trap:
listen:'0.0.0.0:1620'
discovery:{}
global:
poll_time_sec:300
timeout_ms:30000
Conseil
Vous pouvez également contrôler les noms des périphériques en fournissant un argument de conteneur -dns au moment de l'exécution. Cela permettra au conteneur d’exécuter une recherche sur l’adresse IP source et d’essayer la résolution de nom.
Les conteneurs Podman sans racine ne peuvent pas se lier aux ports inférieurs à 1024. Pour gérer la redirection de paquets pour les messages d'interruption, vous devez créer une règle iptables qui cible les paquets arrivant sur le port UDP 162 :
Démarrez l'agent monitoring du réseau pour écouter les messages d'interruption SNMP entrants. Remplacez $CONTAINER_SERVICE par un nom unique pour le conteneur et remplacez$YOUR_NR_LICENSE_KEY et $YOUR_NR_ACCOUNT_ID par vos valeurs :
bash
$
podman run -d--name ktranslate-$CONTAINER_SERVICE\
Examinez vos résultats dans New Relic en interrogeant le type d’événement KSnmpTrap :
FROM KSnmpTrap SELECT*
Conseil
Il est important de se rappeler que les messages d'interruption SNMP sont des événements générés par le périphérique source. Si vous ne voyez pas de messages dans New Relic, assurez-vous que vos appareils ont réellement créé des messages. La documentation du fournisseur sur l’envoi d’exemples de messages varie, mais vous pouvez utiliser snmptrap sur votre hôte Docker pour envoyer un message de test comme celui-ci :
bash
$
snmptrap -v 2c -c public localhost ''1.3.6.1.4.1.8072.2.3.0.1 1.3.6.1.4.1.8072.2.3.2.1 i 123456
Et ensuite ?
Vous pouvez configurer davantage d'agents pour compléter vos données SNMP :