Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Puede utilizar nuestro proceso de instalación guiada para instalar el agente de monitoreo SNMP o instalar el agente manualmente. Este documento cubre los requisitos previos para iniciar este proceso de instalación y un recorrido paso a paso por las opciones de instalación.
Se recomienda implementar el agente de monitoreo SNMP como contenedor ya sea para Docker o Podman. Si lo necesita, también puede instalarlo como un servicio baremetal en Linux.
Recomendamos utilizar un contenedor docker para desplegar el agente de monitoreo SNMP. Para usarlo, necesitas:
Capacidad para lanzar un nuevo contenedor a través de línea de comando
Si utiliza Linux para instalar el agente como servicio, necesita:
Acceso SSH al host
Acceso para instalar/eliminar aplicaciones y servicios.
Uno de estos sistemas operativos soportados:
CentOS 8
Debian 12 (ratón de biblioteca)
Debian 11 (Diana)
Debian 10 (Buster)
RedHat Enterprise Linux 9
Ubuntu 20.04 (LTS focal)
Ubuntu 22.04 (Jammy LTS)
Ubuntu 23.04 (Lunar)
Importante
Para recibir capturas SNMP, el agente debe vincularse a UDP 162. En una instalación basada en host, se incluirá el siguiente comando durante el proceso de instalación. Cuando se ejecute, KTranslate se ejecutará con privilegios elevados.
También existen requisitos previos para su entorno de red y los propios dispositivos de red.
Debe configurar los dispositivos de destino para aceptar el sondeo SNMP desde la dirección IP del host del agente. Puede encontrar algunos ejemplos de configuración SNMP básica aquí (esta no es una lista exhaustiva):
Nuestro Monitoreo de red contenedor admite todas las versiones principales de SNMP (v1, v2c y v3), incluidas Traps e Informs. Además, SNMP v3 admite las siguientes configuraciones de autenticación y privacidad:
Configuración
Protocolo
Autenticación
NoAuth
Autenticación
MD5
Autenticación
SHA
Autenticación
SHA224
Autenticación
SHA256
Autenticación
SHA384
Autenticación
SHA512
Privacidad
NoPriv
Privacidad
DES
Privacidad
AES
Privacidad
AES192
Privacidad
AES256
Privacidad
AES192C
Privacidad
AES256C
Sugerencia
Recomendamos utilizar cadenas de comunidad/autenticación de solo lectura con SNMP.
Configurar el monitoreo de datos SNMP en New Relic
Copie el archivo snmp-base.yaml en el directorio local $HOME de su usuario Docker y descarte el contenedor ejecutando:
bash
$
cd ~
$
id=$(docker create kentik/ktranslate:v2)
$
dockercp$id:/etc/ktranslate/snmp-base.yaml .
$
dockerrm-v$id
Edite el archivo snmp-base.yaml y defina los atributos discovery.cidrs y discovery.default_communities con los valores apropiados para su red.
Sugerencia
Recomendamos configurar discovery.add_mibs: true para automatizar la adición de todos los MIB descubiertos al atributo global.mibs_enabled . Además, recomendamos configurar discovery.check_all_ips: true para evitar problemas de detección en dispositivos con posturas de seguridad estrictas.
Inicie el Monitoreo de red agente para sondear los dispositivos objetivo y escuchar mensajes de captura SNMP entrantes. Reemplace $CONTAINER_SERVICE con un nombre único para el contenedor y sustituya$YOUR_NR_LICENSE_KEY y $YOUR_NR_ACCOUNT_ID con sus valores:
bash
$
docker run -d--name ktranslate-$CONTAINER_SERVICE--restart unless-stopped --pull=always -p162:1620/udp \
>
-v`pwd`/snmp-base.yaml:/snmp-base.yaml \
>
-eNEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY\
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID\
>
-metrics=jchf \
>
-tee_logs=true \
>
-service_name=$CONTAINER_SERVICE\
>
-snmp_discovery_on_start=true \
>
-snmp_discovery_min=180\
>
nr1.snmp
Sugerencia
No es necesario ejecutar un agente dedicado para la recopilación de trampas, ya que todos los agentes de sondeo SNMP ejecutarán un oyente pasivo. De forma predeterminada, el contenedor escuchará en el puerto 162 (UDP) del host; pero puede cambiar el mapeo del puerto publicado en el comando de ejecución docker : -p 162:1620/udp. Si desea configurar un contenedor dedicado, puede seguir los pasos de esta sección.
Investigue los datos de rendimiento de su red en la New Relic UI.
En un host con Podman instalado, descargue la imagen ktranslate ejecutando el siguiente comando:
Copie el archivo snmp-base.yaml en el directorio local $HOME de su usuario de Podman y descarte el contenedor ejecutando:
bash
$
cd ~
$
id=$(podman create kentik/ktranslate:v2)
$
podmancp$id:/etc/ktranslate/snmp-base.yaml .
$
podmanrm-v$id
Edite el archivo snmp-base.yaml y defina los atributos discovery.cidrs y discovery.default_communities con los valores apropiados para su red.
Sugerencia
Recomendamos configurar discovery.add_mibs: true para automatizar la adición de todos los MIB descubiertos al atributo global.mibs_enabled . Además, recomendamos configurar discovery.check_all_ips: true para evitar problemas de detección en dispositivos con posturas de seguridad estrictas.
El contenedor Rootless Podman no puede vincular a puertos inferiores a 1024. Para manejar la redirección de paquetes para mensajes de captura, deberá crear una regla iptables que apunte a los paquetes que llegan al puerto UDP 162:
Inicie el Monitoreo de red agente para sondear los dispositivos objetivo y escuchar mensajes de captura SNMP entrantes. Reemplace $CONTAINER_SERVICE con un nombre único para el contenedor y sustituya$YOUR_NR_LICENSE_KEY y $YOUR_NR_ACCOUNT_ID con sus valores:
bash
$
podman run -d--name ktranslate-$CONTAINER_SERVICE--userns=keep-id --restart unless-stopped --pull=always --net=host \
>
-v`pwd`/snmp-base.yaml:/snmp-base.yaml \
>
-eNEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY\
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID\
>
-metrics=jchf \
>
-tee_logs=true \
>
-service_name=$CONTAINER_SERVICE\
>
-snmp_discovery_on_start=true \
>
-snmp_discovery_min=180\
>
nr1.snmp
Sugerencia
No es necesario ejecutar un agente dedicado para la recopilación de trampas, ya que todos los agentes de sondeo SNMP ejecutarán un oyente pasivo. De forma predeterminada, el contenedor escuchará en el puerto 162 (UDP) del host, pero puede cambiar el mapeo del puerto publicado en el comando docker Run: -p 162:1620/udp. Si desea configurar un contenedor dedicado, puede seguir los pasos de esta sección.
Investigue los datos de rendimiento de su red en la New Relic UI.
Dependiendo de su administrador de paquetes, use uno de los siguientes comandos para instalar ktranslate
Edite el archivo snmp-base.yaml y defina los atributos discovery.cidrs y discovery.default_communities con los valores apropiados para su red.
Sugerencia
Recomendamos configurar discovery.add_mibs: true para automatizar la adición de todos los MIB descubiertos al atributo global.mibs_enabled . Además, se recomienda configurar discovery.check_all_ips: true para evitar problemas de descubrimiento en dispositivos con posturas de seguridad estrictas.
Resetear el servicio ktranslate para aplicar los cambios al archivo snmp-base.yaml :
bash
$
sudo systemctl restart ktranslate
Investigue los datos de rendimiento de su red en la New Relic UI.
Instalación opcional para trampas SNMP
En algunas circunstancias, resulta beneficioso aislar la colección de mensajes de captura SNMP en un contenedor dedicado. Esto es útil para controlar la escala en entornos grandes, así como para crear una huella de monitoreo distribuido con menor riesgo de interrupciones totales si falla un contenedor. Este proceso no es compatible con la instalación del servicio Linux.
Nota: No puede monitor capturas v2c y v3 con el mismo contenedor. Si desea monitor ambas versiones de captura, deberá lanzar un contenedor secundario dedicado y configurar sus mensajes de captura para que se envíen a un puerto no predeterminado. Por ejemplo, si ya tiene v2c capturas configuradas en el puerto 162:
Configure sus capturas v3 para que se envíen a través de otro puerto, como 163.
Cambie ligeramente los argumentos del contenedor Docker, de -p 162:1620/udp a -p $src:1620/udp donde $src es el puerto al que llegan sus v3 capturas.
En un host Linux con Docker instalado, cree el archivo de configuración que usará para ejecutar el contenedor:
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
De forma predeterminada, el contenedor utilizará la dirección IP de origen como nombre de dispositivo en New Relic. Puedes controlar esto mediante dispositivos mapeo manualmente en tu archivo de configuración:
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
Sugerencia
También puede controlar los nombres de los dispositivos proporcionando un argumento de contenedor -dns en tiempo de ejecución. Esto permitirá que el contenedor ejecute una búsqueda en la dirección IP de origen e intente la resolución de nombres.
Inicie el Monitoreo de red agente para escuchar los mensajes de captura SNMP entrantes. Reemplace $CONTAINER_SERVICE con un nombre único para el contenedor y sustituya$YOUR_NR_LICENSE_KEY y $YOUR_NR_ACCOUNT_ID con sus valores:
bash
$
docker run -d--name ktranslate-$CONTAINER_SERVICE--restart unless-stopped --pull=always -p162:1620/udp \
>
-v`pwd`/traps-base.yaml:/snmp-base.yaml \
>
-eNEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY\
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID\
>
-metrics=jchf \
>
-tee_logs=true \
>
-service_name=$CONTAINER_SERVICE\
>
nr1.snmp
Esto iniciará un contenedor que escuchará los mensajes de captura SNMP en el puerto 162/udp.
Investigue sus resultados en New Relic consultando el tipo de evento KSnmpTrap :
FROM KSnmpTrap SELECT*
Sugerencia
Es importante recordar que los mensajes de captura SNMP los genera el dispositivo de origen. Si no ve mensajes en New Relic, asegúrese de que sus dispositivos realmente hayan creado mensajes. La documentación del proveedor sobre el envío de mensajes de muestra varía, pero puede usar snmptrap en su host docker para enviar un mensaje de prueba como este:
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
En un host Linux con Docker instalado, cree el archivo de configuración que usará para ejecutar el contenedor:
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
De forma predeterminada, el contenedor utilizará la dirección IP de origen como nombre de dispositivo en New Relic. Puedes controlar esto mediante dispositivos mapeo manualmente en tu archivo de configuración:
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
Sugerencia
También puede controlar los nombres de los dispositivos proporcionando un argumento de contenedor -dns en tiempo de ejecución. Esto permitirá que el contenedor ejecute una búsqueda en la dirección IP de origen e intente la resolución de nombres.
El contenedor Rootless Podman no puede vincular a puertos inferiores a 1024. Para manejar la redirección de paquetes para mensajes de captura, deberá crear una regla iptables que apunte a los paquetes que llegan al puerto UDP 162:
Inicie el Monitoreo de red agente para escuchar los mensajes de captura SNMP entrantes. Reemplace $CONTAINER_SERVICE con un nombre único para el contenedor y sustituya$YOUR_NR_LICENSE_KEY y $YOUR_NR_ACCOUNT_ID con sus valores:
bash
$
podman run -d--name ktranslate-$CONTAINER_SERVICE--userns=keep-id --restart unless-stopped --pull=always --net=host \
>
-v`pwd`/traps-base.yaml:/snmp-base.yaml \
>
-eNEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY\
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID\
>
-metrics=jchf \
>
-tee_logs=true \
>
-service_name=$CONTAINER_SERVICE\
>
nr1.snmp
Investigue sus resultados en New Relic consultando el tipo de evento KSnmpTrap :
FROM KSnmpTrap SELECT*
Sugerencia
Es importante recordar que los mensajes de captura SNMP los genera el dispositivo de origen. Si no ve mensajes en New Relic, asegúrese de que sus dispositivos realmente hayan creado mensajes. La documentación del proveedor sobre el envío de mensajes de muestra varía, pero puede usar snmptrap en su host docker para enviar un mensaje de prueba como este:
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
Que sigue
Puede configurar más agentes para complementar sus datos SNMP: