Comparteix a través de


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, vamos a explicar cómo configurar Service Fabric para escribir estos eventos en Syslog.

Nota:

Este artículo se ha actualizado recientemente para usar el término registros de Azure Monitor en lugar de Log Analytics. Los datos de registro siguen almacenándose en un área de trabajo de Log Analytics y siguen recopilándose y analizándose por el mismo servicio de Log Analytics. Estamos actualizando la terminología para reflejar mejor el rol de los registros de Azure Monitor. Consulte Azure Monitor terminology changes (Cambios en la terminología de Azure Monitor) para obtener más información.

Introducción

En la versión 6.4, se ha introducido SyslogConsumer para enviar los eventos de la plataforma de Service Fabric a Syslog para clústeres Linux. Una vez activados, los eventos fluirán automáticamente a Syslog, donde los recopilará y enviará el agente de Log Analytics.

Cada evento Syslog tiene 4 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 distintas 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:

  1. 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.
  2. En la sección Diagnóstico, se a agregado un nuevo elemento ConsumerInstance: SyslogConsumer. Esto indica a la plataforma que hay otro consumidor de los eventos.
  3. La nueva sección SyslogConsumer debe tener IsEnabled como true. 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 con Azure Marketplace mediante estas [instrucciones].(../azure-monitor/logs/quick-create-workspace.md) 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.

  1. Navegue hasta la hoja Advanced Settings.

    Configuración de área de trabajo

  2. Haga clic en Data

  3. Haga clic en Syslog

  4. Configure Local0 como el recurso del que realizar el seguimiento. Puede agregar otro recurso si lo cambia en fabricSettings.

    Configuración de Syslog

  5. Acceda al explorador de consultas; para ello, haga clic en Logs en el menú del recurso de área de trabajo para iniciar la consulta.

    Registros del área de trabajo

  6. Puede consultar la tabla Syslog si busca ServiceFabric como ProcessName. La consulta siguiente 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

Consulta de Syslog

El ejemplo anterior es de un evento NodeDown. Puede ver la lista completa de eventos aquí.

Pasos siguientes