Partager via


événements de cluster Linux Service Fabric dans Syslog

Service Fabric expose un ensemble d’événements de plateforme pour vous informer des activités importantes concernant votre cluster. Vous trouverez la liste complète des événements exposés ici. Des façons différentes de consommer ces événements sont disponibles. Dans cet article, nous abordons la configuration de Service Fabric pour écrire ces événements dans Syslog.

Introduction

Dans la version 6.4, SyslogConsumer a été introduit pour envoyer les événements de la plateforme Service Fabric à Syslog pour les clusters Linux. Une fois activés, les événements sont automatiquement dirigés vers Syslog, qui peut être collecté et envoyé par l’agent Log Analytics.

Chaque événement Syslog comprend quatre composants

  • Facility
  • Identité
  • Message
  • severity

Le SyslogConsumer écrit tous les événements de plateforme à l’aide de la Facility Local0. La configuration peut être modifiée pour être actualisée avec toute autre installation valide. L’identité utilisée est ServiceFabric. Le champ Message contient l’événement entier sérialisé au format JSON afin de pouvoir être interrogé et consommé par divers outils.

Activer SyslogConsumer

Pour activer SyslogConsumer, vous devez effectuer une mise à niveau de votre cluster. La section fabricSettings doit être mise à jour avec le code suivant. Notez que ce code inclut uniquement les sections relatives à 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"
            }
            ]
        }
    ],

Voici les modifications apportées

  1. Dans la section commune, il existe un nouveau paramètre nommé LinuxStructuredTracesEnabled. Il est nécessaire pour que les événements Linux soient structurés et sérialisés lors de leur envoi à Syslog.
  2. Dans la section Diagnostics, un nouveau paramètre ConsumerInstance : SyslogConsumer a été ajouté. Cela indique à la plateforme la présence d’un autre consommateur des événements.
  3. La nouvelle section SyslogConsumer doit avoir IsEnabled comme true. Elle est configurée pour utiliser automatiquement le site Local0. Vous pouvez la remplacer en ajoutant un autre paramètre.
    {
        "name": "New LogFacility",
        "value": "<Valid Syslog Facility>"
    }

Intégration de Journaux Azure Monitor

Vous pouvez lire ces événements Syslog dans un outil de supervision, tel que Journaux Azure Monitor. Vous pouvez créer un espace de travail Log Analytics à l’aide de la Place de marché Azure à l’aide de ces instructions.

Vous devez également ajouter l’agent Log Analytics à votre cluster pour collecter et envoyer ces données vers l’espace de travail. Il s’agit du même agent utilisé pour collecter les compteurs de performances.

  1. Accéder à la section Advanced Settings

    Paramètres de l’espace de travail

  2. Sélectionnez Data

  3. Sélectionnez Syslog

  4. Configurez Local0 comme Facility pour le suivi. Vous pouvez ajouter une autre Facility si vous l’avez modifiée dans fabricSettings

    Configurer les messages Syslog

  5. Accédez à l’Explorateur des requêtes en cliquant sur Logs dans le menu de la ressource d’espace de travail pour commencer à interroger

    Journaux d’activité de l’espace de travail

  6. Vous pouvez interroger la table Syslog en recherchant ServiceFabric comme ProcessName. La requête suivante est un exemple montrant comment analyser le JSON dans l’événement et afficher son contenu

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

Requête Syslog

L’exemple ci-dessus vient d’un événement NodeDown. Vous pouvez consulter la liste complète des événements ici.

Étapes suivantes