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. Ces événements peuvent être utilisés de plusieurs façons. Dans cet article, nous allons vous montrer comment configurer Service Fabric pour écrire ces événements dans Syslog.

Notes

Cet article a récemment été mis à jour pour utiliser le terme journaux d’activité Azure Monitor au lieu de Log Analytics. Les données de journal sont toujours stockées dans un espace de travail Log Analytics, et elles sont toujours collectées et analysées par le même service Log Analytics. Nous mettons la terminologie à jour pour mieux refléter le rôle des journaux d’activité dans Azure Monitor. Pour plus d'informations, consultez Modifications de la terminologie d'Azure Monitor.

Introduction

Dans la version 6.4, SyslogConsumer a été introduit pour envoyer les événements de la plateforme Service Fabric au 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 4 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 qu’il puisse être interrogé et consommé par une variété d’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é. Il indique à la plateforme qu’il existe un autre consommateur des événements.
  3. La nouvelle section SyslogConsumer doit avoir IsEnabled comme true. Elle est configurée pour utiliser automatiquement la Facility 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 en utilisant ces [instructions].(../azure-monitor/logs/quick-create-workspace.md). Vous devez également ajouter l’agent Log Analytics à votre cluster pour collecter et envoyer ces données à l’espace de travail. Il s’agit du même agent utilisé pour collecter les compteurs de performances.

  1. Accédez au panneau Advanced Settings

    Paramètres de l’espace de travail

  2. Cliquez sur Data

  3. Cliquez sur 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 ci-dessous 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