Guía de solución de problemas del agente de Azure Monitor en máquinas virtuales Linux y conjuntos de escalado
Introducción al agente de Azure Monitor
Antes de leer más, debe estar familiarizado con el agente de Azure Monitor y las reglas de recopilación de datos.
Terminología
Nombre | Acrónimo | Descripción |
---|---|---|
Agente de Azure Monitor | AMA | Nuevo agente de Azure Monitor |
Reglas de recopilación de datos | DCR | Reglas para configurar la recopilación de datos por parte del agente, es decir, qué recopilar, dónde enviarlo y mucho más |
Servicio de configuración de Azure Monitor | AMCS | Servicio regional hospedado en Azure, que controla la recopilación de datos para este agente y otras partes de Azure Monitor. El agente llama a este servicio para capturar las DCR. |
Punto de conexión de registros | -- | Punto de conexión para enviar datos a las áreas de trabajo de Log Analytics |
Punto de conexión de métricas | -- | Punto de conexión para enviar datos a las bases de datos de métricas de Azure Monitor. |
Azure Instance Metadata Service e híbrido | IMDS e HIMDS | Servicios hospedados en Azure que proporcionan información sobre las máquinas virtuales actualmente en ejecución, los conjuntos de escalado (mediante IMDS) y los servidores habilitados para Arc (mediante HIMDS), respectivamente. |
Área de trabajo de Log Analytics | LAW | Destino de Azure Monitor al que puede enviar los registros recopilados por el agente |
Métricas personalizadas | -- | Destino de Azure Monitor al que puede enviar las métricas de invitado recopiladas por el agente |
Pasos básicos para solucionar problemas
Siga los pasos que se indican a continuación para solucionar los problemas de la versión más reciente del agente de Azure Monitor que se ejecuta en la máquina virtual Linux:
Revise detenidamente los requisitos previos aquí.
Compruebe que la extensión se haya instalado y aprovisionado correctamente, lo que instala los archivos binarios del agente en la máquina:
- Abra Azure Portal > Seleccione la máquina virtual > Abra Settings: Extensions + applications (Configuración: Extensiones y aplicaciones) en el panel de la izquierda > Debería aparecer "AzureMonitorLinuxAgent" con el estado "Aprovisionamiento realizado correctamente".
- Si no ve la extensión en la lista, compruebe si la máquina puede acceder a Azure y busque la extensión que se va a instalar mediante el siguiente comando:
az vm extension image list-versions --location <machine-region> --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor
- Espere entre 10 y 15 minutos, ya que la extensión tal vez en el estado de transición. Si todavía no aparece como se muestra arriba, desinstale e instale la extensión de nuevo.
- Compruebe si ve algún error en los registros de extensión ubicados en
/var/log/azure/Microsoft.Azure.Monitor.AzureMonitorLinuxAgent/
en la máquina.
Compruebe que el agente se esté ejecutando:
- Compruebe si el agente emite registros de latidos al área de trabajo de Log Analytics mediante la consulta siguiente. Puede omitirlo si "Métricas personalizadas" es el único destino de la DCR:
Heartbeat | where Category == "Azure Monitor Agent" and Computer == "<computer-name>" | take 10
- Compruebe si el servicio del agente se está ejecutando.
systemctl status azuremonitoragent
- Compruebe si ve algún error en los registros básicos del agente ubicados en
/var/opt/microsoft/azuremonitoragent/log/mdsd.*
en la máquina.
- Compruebe si el agente emite registros de latidos al área de trabajo de Log Analytics mediante la consulta siguiente. Puede omitirlo si "Métricas personalizadas" es el único destino de la DCR:
Compruebe que exista la DCR y esté asociada a la máquina virtual:
- Si usa el área de trabajo de Log Analytics como destino, compruebe que la DCR exista en la misma región física que el área de trabajo de Log Analytics.
- Abra Azure Portal > Seleccione la regla de recopilación de datos > Abra Configuration: Resources (Configuración: Recursos) en el panel de la izquierda > La máquina virtual debería aparecer aquí.
- Si no aparece, haga clic en "Agregar" y seleccione la máquina virtual en el selector de recursos. Repita esto para todas las DCR.
Compruebe que el agente haya podido descargar las DCR asociadas desde el servicio AMCS:
- Compruebe si ve la versión más reciente de la DCR descargada en esta ubicación:
/etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/
- Compruebe si ve la versión más reciente de la DCR descargada en esta ubicación:
Problemas al recopilar Syslog
Para más información sobre cómo solucionar problemas de syslog con el agente de Azure Monitor, consulte aquí.
El archivo de calidad de servicio (QoS)
/var/opt/microsoft/azuremonitoragent/log/mdsd.qos
proporciona agregaciones de 15 minutos en formato CSV de los eventos procesados y contiene la información sobre la cantidad de eventos de syslog procesados en el período de tiempo determinado. Este archivo es útil en el seguimiento de las eliminaciones de ingesta de eventos de Syslog.Por ejemplo, el fragmento siguiente muestra que en los 15 minutos anteriores a 2022-02-28T19:55:23.5432920Z, el agente recibió 77 eventos de syslog con información de nivel y del demonio de la instalación y envió 77 de dichos eventos a la tarea de carga. Además, la tarea de carga del agente recibió 77 y cargó correctamente los 77 mensajes de daemon.info.
#Time: 2022-02-28T19:55:23.5432920Z #Fields: Operation,Object,TotalCount,SuccessCount,Retries,AverageDuration,AverageSize,AverageDelay,TotalSize,TotalRowsRead,TotalRowsSent ... MaRunTaskLocal,daemon.debug,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.info,15,15,0,60000,46.2,0,693,77,77 MaRunTaskLocal,daemon.notice,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.warning,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.error,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.critical,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.alert,15,15,0,60000,0,0,0,0,0 MaRunTaskLocal,daemon.emergency,15,15,0,60000,0,0,0,0,0 ... MaODSRequest,https://e73fd5e3-ea2b-4637-8da0-5c8144b670c8_LogManagement,15,15,0,455067,476.467,0,7147,77,77
Pasos para solucionar problemas
Revise primero los pasos de solución de problemas genéricos de AMA en Linux. Si el agente emite latidos, continúe con el paso 2.
La configuración analizada se almacena en
/etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/
. Compruebe que esté definida la recopilación de Syslog y que los destinos de registro sean los mismos que los construidos en la interfaz de usuario de la DCR o el código JSON de la DCR.- En caso afirmativo, continúe en el paso 3. Si no es así, el problema está en el flujo de trabajo de configuración.
- Investigue los archivos
mdsd.err
,mdsd.warn
ymdsd.info
de/var/opt/microsoft/azuremonitoragent/log
en busca de posibles errores de configuración.
Valide el diseño del flujo de trabajo de recopilación de Syslog para asegurarse de que todas las piezas necesarias estén en funcionamiento y sean accesibles:
- Para los usuarios de
rsyslog
, asegúrese de que esté presente el archivo/etc/rsyslog.d/10-azuremonitoragent.conf
, de que no esté vacío y sea accesible por el demoniorsyslog
(usuario de syslog).- Compruebe la configuración de rsyslog en
/etc/rsyslog.conf
y/etc/rsyslog.d/*
para ver si tiene entradas enlazadas a un conjunto de reglas no predeterminado, ya que los mensajes de estas entradas no se reenviarán al agente de Azure Monitor. Por ejemplo, los mensajes de una entrada configurada con un conjunto de reglas no predeterminado comoinput(type="imtcp" port="514"
ruleset="myruleset"
)
no se reenviarán.
- Compruebe la configuración de rsyslog en
- Para los usuarios de
syslog-ng
, asegúrese de que esté presente el archivo/etc/syslog-ng/conf.d/azuremonitoragent.conf
, de que no esté vacío y sea accesible por el demoniosyslog-ng
(usuario de syslog). - Asegúrese de que exista el archivo
/run/azuremonitoragent/default_syslog.socket
y de que sea accesible porrsyslog
osyslog-ng
respectivamente. - Compruebe que la cola del demonio de syslog no se esté desbordando, lo que provoca un error en la carga; para ello, consulte las instrucciones que se indican aquí: No se han cargado los datos de rsyslog debido a un problema de espacio de disco lleno en el agente Linux de AMA
- Para los usuarios de
Para depurar aún más la ingesta de eventos de syslog, puede anexar la marca de seguimiento -T 0x2002 al final de MDSD_OPTIONS en el archivo
/etc/default/azuremonitoragent
y reiniciar el agente:export MDSD_OPTIONS="-A -c /etc/opt/microsoft/azuremonitoragent/mdsd.xml -d -r $MDSD_ROLE_PREFIX -S $MDSD_SPOOL_DIRECTORY/eh -L $MDSD_SPOOL_DIRECTORY/events -e $MDSD_LOG_DIR/mdsd.err -w $MDSD_LOG_DIR/mdsd.warn -o $MDSD_LOG_DIR/mdsd.info -T 0x2002"
Una vez reproducido el problema con la marca de seguimiento activada, encontrará más información de depuración en
/var/opt/microsoft/azuremonitoragent/log/mdsd.info
. Inspeccione el archivo en busca de la posible causa del problema de recopilación de syslog, como el análisis, el procesamiento, la configuración y los errores de carga.Advertencia
Asegúrese de quitar la configuración de la marca de seguimiento -T 0x2002 después de la sesión de depuración, ya que genera muchas instrucciones de seguimiento que podrían llenar el disco más rápidamente o dificultar el análisis visual del archivo de registro.
Solución de problemas en el servidor habilitado para Arc
Si después de comprobar los pasos básicos de solución de problemas, no ve el agente de Azure Monitor que emite registros o encuentra errores de tipo "Error al obtener el token MSI del punto de conexión imDS" en el archivo de registro /var/opt/microsoft/azuremonitoragent/log/mdsd.err
, es probable que el usuario syslog
no sea miembro del grupo himds
. Agregue el usuario syslog
al grupo de usuarios himds
si el usuario no es miembro de este grupo. Cree el usuario syslog
y el grupo syslog
, si es necesario, y asegúrese de que el usuario esté en ese grupo. Para más información, consulte los requisitos de autenticación de servidor habilitados para Azure Arc aquí.