Recopilación de datos de captura de SNMP con el agente de Azure Monitor

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planeación en consecuencia. Para más información, consulte la Guía de fin de ciclo de vida de CentOS.

El Protocolo simple de administración de redes (SNMP) es un protocolo de administración ampliamente implementado para supervisar y configurar dispositivos Linux.

Puede recopilar datos SNMP de dos maneras:

  • Sondeos: el sistema de administración sondea un agente SNMP para recopilar los valores para propiedades específicas.
  • Capturas: un agente SNMP reenvía los eventos o las notificaciones a un sistema de administración.

Las capturas se suelen usar como notificaciones de eventos, mientras que los sondeos son más adecuados para la detección de mantenimiento con estado y la recopilación de métricas de rendimiento.

Puede usar el agente de Azure Monitor para recopilar capturas de SNMP como eventos syslog o como eventos registrados en un archivo de texto.

En este tutorial, aprenderá a:

  • Configuración de las opciones y el formato del registro del receptor de capturas
  • Configuración del receptor de capturas para enviar capturas a syslog o al archivo de texto
  • Recopilación de capturas de SNMP mediante el agente de Azure Monitor

Requisitos previos

Para completar este tutorial, necesita:

  • Un área de trabajo de Log Analytics en la que tenga al menos derechos de colaborador.

  • Archivos de base de información de administración (MIB) para los dispositivos que supervise.

    SNMP identifica las propiedades supervisadas mediante valores de Identificador de objeto (OID), que se definen y describen en archivos MIB proporcionados por el proveedor.

    El proveedor del dispositivo suele proporcionar los archivos MIB. Si no los tiene, puede encontrar los archivos de muchos proveedores en sitios web de terceros.

    Coloque todos los archivos MIB para cada dispositivo que envíe capturas de SNMP en /usr/share/snmp/mibs, el directorio predeterminado para los archivos MIB. Esto permite registrar los campos de la captura de SNMP con nombres significativos en lugar de identificadores de dominio.

    Algunos proveedores guardan un único MIB para todos los dispositivos, mientras que otros tienen cientos de ellos. Para cargar correctamente un archivo MIB, snmptrapd debe cargar todas las MIB dependientes. Asegúrese de comprobar el archivo de registro snmptrapd después de cargar las MIB para asegurarse de que no faltan dependencias en el análisis de los archivos MIB.

  • Un servidor Linux con un receptor de captura de SNMP.

    En este artículo usamos snmptrapd, un receptor de captura de SNMP del agente Net-SNMP que proporciona la mayoría de las distribuciones de Linux. Sin embargo, puede usar muchos otros servicios receptores de captura de SNMP.

    El procedimiento de configuración de snmptrapd puede variar de una distribución de Linux a otra. Para más información sobre la configuración de snmptrapd, incluidas las instrucciones para configurar la autenticación de SNMP v3, consulte la documentación de Net-SNMP.

    Es importante que el receptor de captura de SNMP que use pueda cargar archivos MIB para su entorno, de modo que las propiedades del mensaje de captura de SNMP tengan nombres significativos en lugar de OID.

Configuración de las opciones y el formato del registro del receptor de capturas

Para configurar el receptor de captura snmptrapd en un servidor CentOS 7, Red Hat Enterprise Linux 7, Oracle Linux 7:

  1. Instale y habilite snmptrapd:

    #Install the SNMP agent
    sudo yum install net-snmp
    #Enable the service
    sudo systemctl enable snmptrapd
    #Allow UDP 162 through the firewall
    sudo firewall-cmd --zone=public --add-port=162/udp --permanent
    
  2. Autorice las cadenas de comunidad (cadenas de autenticación de SNMP v1 y v2) y defina el formato de las capturas escritas en el archivo de registro:

    1. Abra snmptrapd.conf:

      sudo vi /etc/snmp/snmptrapd.conf  
      
    2. Agregue estas líneas al archivo snmptrapd.conf:

      # Allow all traps for all OIDs, from all sources, with a community string of public
      authCommunity log,execute,net public
      # Format logs for collection by Azure Monitor Agent
      format2 snmptrap %a %B %y/%m/%l %h:%j:%k %N %W %q %T %W %v \n
      

      Nota

      snmptrapd registra tanto las capturas como los mensajes de demonio (por ejemplo, service stop and start) en el mismo archivo de registro. En el ejemplo anterior, hemos definido el formato de registro para empezar con la palabra "snmptrap" para facilitar el filtrado de snmptrap desde el registro más adelante.

Configuración del receptor de capturas para enviar datos de captura a syslog o al archivo de texto

snmptrapd puede enviar capturas de SNMP al agente de Azure Monitor de dos maneras:

  • Reenvíe las capturas entrantes a syslog, el cual puede establecer como origen de datos para el agente de Azure Monitor.

  • Escriba los mensajes de syslog en un archivo, que pueda poner fin y analizar el agente de Azure Monitor. Esta opción permite enviar las capturas de SNMP como tipo de datos nuevo en lugar de enviarlas como eventos de syslog.

Para editar la configuración del comportamiento de salida de snmptrapd:

  1. Abra el archivo /etc/snmp/snmptrapd.conf:

    sudo vi /etc/sysconfig/snmptrapd
    
  2. Configure el destino de salida.

    A continuación se muestra un ejemplo de configuración:

    # snmptrapd command line options
    # '-f' is implicitly added by snmptrapd systemd unit file
    # OPTIONS="-Lsd"
    OPTIONS="-m ALL -Ls2 -Lf /var/log/snmptrapd"
    

    Las opciones de esta configuración de ejemplo son:

    • -m ALL: cargue todos los archivos MIB en el directorio predeterminado.
    • -Ls2: envíe las capturas a syslog, a la instalación Local2.
    • -Lf /var/log/snmptrapd: registre las capturas en el archivo /var/log/snmptrapd.

Nota

Consulte la documentación de Net-SNMP para más información sobre el establecimiento de las opciones de salida y el establecimiento de las opciones de formato.

Recopilación de capturas de SNMP mediante el agente de Azure Monitor

Si configuró snmptrapd para enviar eventos a syslog, siga los pasos descritos en Recopilación de eventos y contadores de rendimiento con el agente de Azure Monitor. Asegúrese de seleccionar Syslog de Linux como origen de datos al definir la regla de recopilación de datos para el agente de Azure Monitor.

Si configuró snmptrapd para escribir eventos en un archivo, siga los pasos que se describen en Recopilación de registros de texto con el agente de Azure Monitor.

Pasos siguientes

Más información sobre: