Eventos de clúster Linux de Service Fabric en Syslog
Service Fabric expone un conjunto de eventos de la plataforma para informarle de actividad importante en el clúster. La lista completa de eventos expuestos está disponible aquí. Hay varias maneras de consumir estos eventos. En este artículo, se describe cómo configurar Service Fabric para escribir estos eventos en Syslog.
Introducción
En la versión 6.4, se introdujo SyslogConsumer para enviar los eventos de la plataforma de Service Fabric a Syslog para clústeres Linux. Una vez activados, los eventos fluyen automáticamente a Syslog, donde los recopila y envía el agente de Log Analytics.
Cada evento de Syslog tiene cuatro componentes:
- Facility
- Identidad
- Message
- severity
SyslogConsumer escribe todos los eventos de la plataforma mediante el recurso Local0
. Puede actualizar a cualquier instalación válida si cambia la configuración. La identidad utilizada es ServiceFabric
. El campo de mensaje contiene el evento completo serializado en JSON, por lo que pueden consultarlo y utilizarlo varias herramientas.
Habilitar SyslogConsumer
Para habilitar SyslogConsumer, deberá realizar una actualización del clúster. La sección fabricSettings
debe actualizarse con el siguiente código. Tenga en cuenta que este código solo incluye las secciones relacionadas con SyslogConsumer.
"fabricSettings": [
{
"name": "Diagnostics",
"parameters": [
{
"name": "ConsumerInstances",
"value": "AzureWinFabCsv, AzureWinFabCrashDump, AzureTableWinFabEtwQueryable, SyslogConsumer"
}
]
},
{
"name": "SyslogConsumer",
"parameters": [
{
"name": "ProducerInstance",
"value": "WinFabLttProducer"
},
{
"name": "ConsumerType",
"value": "SyslogConsumer"
},
{
"name": "IsEnabled",
"value": "true"
}
]
},
{
"name": "Common",
"parameters": [
{
"name": "LinuxStructuredTracesEnabled",
"value": "true"
}
]
}
],
Estos son los cambios que se deben realizar:
- En la sección Común, hay un nuevo parámetro llamado
LinuxStructuredTracesEnabled
. Es necesario que los eventos de Linux estén estructurados y serializados cuando se envían a Syslog. - En la sección Diagnóstico, se ha agregado una nueva ConsumerInstance: SyslogConsumer. Esto indica a la plataforma que hay otro consumidor de los eventos.
- La nueva sección SyslogConsumer debe tener
IsEnabled
comotrue
. Está configurada para utilizar el recurso Local0 automáticamente. Puede invalidar esto agregando otro parámetro.
{
"name": "New LogFacility",
"value": "<Valid Syslog Facility>"
}
Integración de los registros de Azure Monitor
Puede leer estos eventos de Syslog en una herramienta de supervisión como los registros de Azure Monitor. Puede crear un área de trabajo de Log Analytics mediante Azure Marketplace siguiendo estas instrucciones.
También debe agregar el agente de Log Analytics al clúster para recopilar y enviar estos datos al área de trabajo. Este es el mismo agente que se usa para recopilar los contadores de rendimiento.
Vaya a la sección
Advanced Settings
.Seleccione
Data
Seleccione
Syslog
Configure Local0 como el recurso del que realizar el seguimiento. Puede agregar otro recurso si lo cambia en fabricSettings.
Acceda al explorador de consultas; para ello, haga clic en
Logs
en el menú del recurso de área de trabajo para iniciar la consulta.Puede consultar la tabla
Syslog
si buscaServiceFabric
como ProcessName. La siguiente consulta es un ejemplo de cómo analizar el esquema JSON en el evento y mostrar su contenido.
Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload
El ejemplo anterior es de un evento NodeDown. Puede ver la lista completa de eventos aquí.
Pasos siguientes
- Implemente el agente de Log Analytics en los nodos para recopilar contadores de rendimiento, así como estadísticas y registros de Docker de sus contenedores.
- Familiarícese con las características de consultas y búsqueda de registros que se ofrecen como parte de los registros de Azure Monitor.
- Uso del diseñador de vistas para crear vistas personalizadas en los registros de Azure Monitor
- Consulte esta referencia para obtener información sobre la integración de los registros de Azure Monitor con Syslog.