Solucionar problemas de NDM
Utiliza la siguiente información para solucionar problemas de Network Device Monitoring Datadog. Si necesitas más ayuda, ponte en contacto con el servicio de asistencia de Datadog.
Dispositivo no visible en Datadog
La siguiente explicación supone que estás ejecutando Datadog Agent v7.61.0+.
Si tu dispositivo no está visible en la página Dispositivos:
Ejecuta el comando datadog-agent status y busca la sección snmp, que contiene la IP de monitorización de tu dispositivo. Después de iniciar el Agent, NDM puede tardar hasta un minuto en detectar los dispositivos configurados individualmente. Si tu Agent está configurado para escanear un gran número de dispositivos, puede tardar más tiempo.
El resultado debería ser similar al siguiente:
snmp
----
Instance ID: snmp:default:1.2.3.4.1:9a2df638d3ba38d6 [ERROR]
Configuration Source: file:/etc/datadog-agent/conf.d/snmp.d/conf.yaml
Total Runs: 1
Metric Samples: Last Run: 6, Total: 6
Events: Last Run: 0, Total: 0
Network Devices Metadata: Last Run: 1, Total: 1
Service Checks: Last Run: 1, Total: 1
Average Execution Time : 0s
Last Execution Date : 2024-11-13 13:12:09 PST / 2024-11-13 21:12:09 UTC (1731532329000)
Last Successful Execution Date : Never
Error: <ERROR MESSAGE>
No traceback
Si tu dispositivo no aparece en la lista y estás utilizando Autodiscovery, probablemente significa que el Agent no pudo conectarse a tu dispositivo.
- Ejecuta el comando
datadog-agent status
y espera a que la sección autodiscovery
informe de que se han escaneado todas las IP de dispositivos posibles. En redes grandes, esto puede tardar varios minutos. La salida debe ser similar a la siguiente:
Autodiscovery
=============
Subnet 127.0.0.1/24 is queued for scanning.
No IPs found in the subnet.
Scanning subnet 127.0.10.1/30... Currently scanning IP 127.0.10.2, 4 IPs out of 4 scanned.
Found the following IP(s) in the subnet:
- 127.0.10.1
- 127.0.10.2
Subnet 127.0.10.1/30 scanned.
No IPs found in the subnet.
Si Autodiscovery se ha completado y tu dispositivo sigue sin aparecer en la página Dispositivos, significa que el Agent no ha podido conectarse a tu dispositivo.
- Ejecuta un
snmp walk
en la IP de administrador del dispositivo para determinar por qué el Agent no puede conectarse a tu dispositivo.
Nota: Proporciona tus credenciales directamente en la CLI. Si no se proporcionan las credenciales, el Agent intentará localizarlas en los archivos de configuración del Agent que se estén ejecutando.
Linux:
SNMP v2:
sudo -u dd-agent datadog-agent snmp walk <IP Address> -C <COMMUNITY_STRING>
SNMP v3:
sudo -u dd-agent datadog-agent snmp walk <IP Address> -A <AUTH_KEY> -a <AUTH_PROTOCOL> -X <PRIV_KEY> -x <PRIV_PROTOCOL>
Windows:
agent snmp walk <IP Address>[:Port]
Example:
agent.exe snmp walk 10.143.50.30 1.3.6
Consulta la documentación específica de tu proveedor para obtener información adicional sobre la ejecución de estos comandos.
Solucionar problemas de errores con SNMP
Si el estado de SNMP o el recorrido del Agent muestran un error, podría indicar uno de los siguientes problemas:
Permiso denegado
Si ves un error de permiso denegado mientras enlazas puertos en logs del Agent, el número de puerto que has indicado puede requerir permisos superiores. Para vincularte a un número de puerto inferior a 1024, consulta Uso del puerto de trampa predeterminado 162 de SNMP.
Dispositivo inalcanzable o mal configurado:
Error:
Error: check device reachable: failed: error reading from socket: read udp 127.0.0.1:46068->1.2.3.4:161
Solución:
Inicia sesión en tu dispositivo y asegúrate de que SNMP está activado y expuesto en el puerto 161.
Comprueba que tu cortafuegos del recopilador permite la salida.
Opcionalmente, sólo para Linux:
Ejecuta iptables -L OUTPUT
y asegúrate de que no hay ninguna regla de denegación:
vagrant@agent-dev-ubuntu-22:~$ sudo iptables -L OUTPUT
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere 10.4.5.6
Asegúrate de que tu cadena comunitaria coincide.
Credenciales de SNMPv2 incorrectas
Error:
Error: an authentication method needs to be provided
Solución:
Si utilizas SNMPv2, asegúrate de que se establece una cadena de comunidad.
Protocolo de privacidad de SNMPv3 incorrecto
Error:
Error: check device reachable: failed: decryption error; failed to autodetect profile: failed to fetch sysobjectid: cannot get sysobjectid: decryption error; failed to fetch values: failed to fetch scalar oids with batching: failed to fetch scalar oids: fetch scalar: error getting oids `[1.3.6.1.2.1.1.1.0 1.3.6.1.2.1.1.2.0 1.3.6.1.2.1.1.3.0 1.3.6.1.2.1.1.5.0]`: decryption error
O
Error: check device reachable: failed: wrong digest; failed to autodetect profile: failed to fetch sysobjectid: cannot get sysobjectid: wrong digest; failed to fetch values: failed to fetch scalar oids with batching: failed to fetch scalar oids: fetch scalar: error getting oids `[1.3.6.1.2.1.1.1.0 1.3.6.1.2.1.1.2.0 1.3.6.1.2.1.1.3.0 1.3.6.1.2.1.1.5.0]`: wrong digest
Solución:
Comprueba que los siguientes parámetros de configuración de SNMPv3 son correctos:
- usuario
- authKey
- authProtocol
- privKey
- privProtocol
No se reciben trampas para los dispositivos
Comprueba el archivo de Datadog agent.log
para asegurarte de que puedes enlazarte al puerto de trampas. El siguiente error indica que no te puedes enlazar con el puerto de trampas:
Failed to start snmp-traps server: error happened when listening for SNMP Traps: listen udp 0.0.0.0:162: bind: permission denied
Solución:
Añade una capacidad de enlace de red al binario del Agent, que permite al Agent enlazarse a puertos reservados:
sudo setcap 'cap_net_bind_service=+ep' /opt/datadog-agent/bin/agent/agent
Ve al dashboard para solucionar problemas en NDM:
Desplázate hasta el widget de Trampas y observa el gráfico Traps incorrectly formated (Trampas formateadas incorrectamente). Si es distinto de cero, probablemente significa que la autenticación en el recopilador de NDM y el dispositivo no coinciden.
Solución:
Comprueba que las siguientes configuraciones del archivo datadog.yaml
coinciden con las configuraciones de las trampas de los dispositivos de los que faltan trampas:
## @param community_strings - list of strings - required
## A list of known SNMP community strings that devices can use to send traps to the Agent.
## Traps with an unknown community string are ignored.
## Enclose the community string with single quote like below (to avoid special characters being interpreted).
## Must be non-empty.
#
# community_strings:
# - '<COMMUNITY_1>'
# - '<COMMUNITY_2>'
## @param users - list of custom objects - optional
## List of SNMPv3 users that can be used to listen for traps.
## Each user can contain:
## * user - string - The username used by devices when sending Traps to the Agent.
## * authKey - string - (Optional) The passphrase to use with the given user and authProtocol
## * authProtocol - string - (Optional) The authentication protocol to use when listening for traps from this user.
## Available options are: MD5, SHA, SHA224, SHA256, SHA384, SHA512.
## Defaults to MD5 when authKey is set.
## * privKey - string - (Optional) The passphrase to use with the given user privacy protocol.
## * privProtocol - string - (Optional) The privacy protocol to use when listening for traps from this user.
## Available options are: DES, AES (128 bits), AES192, AES192C, AES256, AES256C.
## Defaults to DES when privKey is set.
#
# users:
# - user: <USERNAME>
# authKey: <AUTHENTICATION_KEY>
# authProtocol: <AUTHENTICATION_PROTOCOL>
# privKey: <PRIVACY_KEY>
# privProtocol: <PRIVACY_PROTOCOL>
Para leer más
Más enlaces, artículos y documentación útiles: