Eventos de clúster Linux de Service Fabric en SyslogService Fabric Linux cluster events in Syslog

Service Fabric expone un conjunto de eventos de la plataforma para informarle de actividad importante en el clúster.Service Fabric exposes a set of platform events to inform you of important activity in your cluster. La lista completa de eventos expuestos está disponible aquí.The full list of events that are exposed is available here. Hay varias maneras de consumir estos eventos.There are variety of ways through which these events can be consumed. En este artículo, vamos a explicar cómo configurar Service Fabric para escribir estos eventos en Syslog.In this article, we are going to discuss how to configure Service Fabric to write these events to Syslog.

Nota

Este artículo se ha actualizado recientemente para usar el término registros de Azure Monitor en lugar de Log Analytics.This article was recently updated to use the term Azure Monitor logs instead of 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.Log data is still stored in a Log Analytics workspace and is still collected and analyzed by the same Log Analytics service. Estamos actualizando la terminología para reflejar mejor el rol de los registros de Azure Monitor.We are updating the terminology to better reflect the role of logs in Azure Monitor. Consulte Azure Monitor terminology changes (Cambios en la terminología de Azure Monitor) para obtener más información.See Azure Monitor terminology changes for details.

IntroducciónIntroduction

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.In the 6.4 release, the SyslogConsumer has been introduced to send the Service Fabric platform events to Syslog for Linux clusters. Una vez activados, los eventos fluirán automáticamente a Syslog, donde los recopilará y enviará el agente de Log Analytics.Once turned on, events will automatically flow to Syslog which can be collected and sent by the Log Analytics Agent.

Cada evento Syslog tiene 4 componentes:Each Syslog event has 4 components

  • FacilityFacility
  • IdentidadIdentity
  • MessageMessage
  • severitySeverity

SyslogConsumer escribe todos los eventos de la plataforma mediante el recurso Local0.The SyslogConsumer writes all platform events using Facility Local0. Puede actualizar a cualquier recurso válido cambiando la configuración. La identidad utilizada es ServiceFabric.You can update to any valid facility by changing the config config. The Identity used is ServiceFabric. El campo de mensaje contiene el evento completo serializado en JSON, por lo que pueden consultarlo y utilizarlo distintas herramientas.The Message field contains the whole event serialized in JSON so that it can be queried and consumed by a variety of tools.

Habilitar SyslogConsumerEnable SyslogConsumer

Para habilitar SyslogConsumer, deberá realizar una actualización del clúster.To enable the SyslogConsumer, you need to perform an upgrade of your cluster. La sección fabricSettings debe actualizarse con el siguiente código.The fabricSettings section needs to be updated with the following code. Tenga en cuenta que este código solo incluye las secciones relacionadas con SyslogConsumer.Note this code just includes sections related to 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:Here are the changes to call out

  1. En la sección Común, hay un nuevo parámetro llamado LinuxStructuredTracesEnabled.In the Common section, there is a new parameter called LinuxStructuredTracesEnabled. Es necesario que los eventos de Linux estén estructurados y serializados cuando se envían a Syslog.This is required to have Linux events structured and serialized when sent to Syslog.
  2. En la sección Diagnóstico, se a agregado un nuevo elemento ConsumerInstance: SyslogConsumer.In the Diagnostics section, a new ConsumerInstance: SyslogConsumer has been added. Esto indica a la plataforma que hay otro consumidor de los eventos.This tells the platform there is another consumer of the events.
  3. La nueva sección SyslogConsumer debe tener IsEnabled como true.The new section SyslogConsumer needs to have IsEnabled as true. Está configurada para utilizar el recurso Local0 automáticamente.It is configured to use the Local0 facility automatically. Puede invalidar esto agregando otro parámetro.You can override this by adding another parameter.
    {
        "name": "New LogFacility",
        "value": "<Valid Syslog Facility>"
    }

Integración de los registros de Azure MonitorAzure Monitor logs integration

Puede leer estos eventos de Syslog en una herramienta de supervisión como los registros de Azure Monitor.You can read these Syslog events in a monitoring tool such as Azure Monitor logs. Puede crear un área de trabajo de Log Analytics con Azure Marketplace mediante estas [instrucciones].(../azure-monitor/learn/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.You can create a Log Analytics workspace by using the Azure Marketplace using these [instructions].(../azure-monitor/learn/quick-create-workspace.md) You also need to add the Log Analytics agent to your cluster to collect and send this data to the workspace. Este es el mismo agente que se usa para recopilar los contadores de rendimiento.This is the same agent used to collect performance counters.

  1. Navegue hasta la hoja Advanced Settings.Navigate to the Advanced Settings blade

    Configuración de área de trabajo

  2. Haga clic en DataClick Data

  3. Haga clic en SyslogClick Syslog

  4. Configure Local0 como el recurso del que realizar el seguimiento. Puede agregar otro recurso si lo cambia en fabricSettings.Configure Local0 as the Facility to track. You can add another Facility if you changed it in 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.Head over to the query explorer by clicking Logs in the workspace resource's menu to start querying

    Registros del área de trabajo

  6. Puede consultar la tabla Syslog si busca ServiceFabric como ProcessName.You can query against the Syslog table looking for ServiceFabric as the ProcessName. La consulta siguiente es un ejemplo de cómo analizar el esquema JSON en el evento y mostrar su contenido.The query below is an example of how to parse the JSON in the event and display its contents

    Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload

Consulta de Syslog

El ejemplo anterior es de un evento NodeDown.The example above is of a NodeDown event. Puede ver la lista completa de eventos aquí.You can view the full list of events here.

Pasos siguientesNext steps