Service Fabric-Linux-Clusterereignisse in SyslogService Fabric Linux cluster events in Syslog

Service Fabric stellt eine Reihe von Plattformereignissen zur Verfügung, um Sie über wichtige Aktivitäten in Ihrem Cluster zu informieren.Service Fabric exposes a set of platform events to inform you of important activity in your cluster. Die vollständige Liste der Ereignisse, die bereitgestellt werden, finden Sie hier.The full list of events that are exposed is available here. Es gibt verschiedene Möglichkeiten, diese Ereignisse zu nutzen.There are variety of ways through which these events can be consumed. In diesem Artikel werden wir erläutern, wie Sie Service Fabric so konfigurieren, dass diese Ereignisse in Syslog geschrieben werden.In this article, we are going to discuss how to configure Service Fabric to write these events to Syslog.

Hinweis

Dieser Artikel wurde kürzlich aktualisiert, um den Begriff Azure Monitor-Protokolle anstelle von Log Analytics aufzunehmen.This article was recently updated to use the term Azure Monitor logs instead of Log Analytics. Protokolldaten werden immer noch in einem Log Analytics-Arbeitsbereich gespeichert und weiterhin mit dem gleichen Log Analytics-Dienst erfasst und analysiert.Log data is still stored in a Log Analytics workspace and is still collected and analyzed by the same Log Analytics service. Die Terminologie hat sich geändert, um der Rolle von Protokollen in Azure Monitor besser Rechnung zu tragen.We are updating the terminology to better reflect the role of logs in Azure Monitor. Weitere Informationen finden Sie unter Terminologieänderungen bei Azure Monitor.See Azure Monitor terminology changes for details.

EinführungIntroduction

In Release 6.4 wurde SyslogConsumer eingeführt, um die Ereignisse der Service Fabric-Plattform für Linux-Cluster an Syslog zu senden.In the 6.4 release, the SyslogConsumer has been introduced to send the Service Fabric platform events to Syslog for Linux clusters. Nach der Aktivierung werden die Ereignisse automatisch an Syslog weitergeleitet, die vom Log Analytics-Agent erfasst und gesendet werden können.Once turned on, events will automatically flow to Syslog which can be collected and sent by the Log Analytics Agent.

Jedes Syslog-Ereignis besteht aus 4 KomponentenEach Syslog event has 4 components

  • FacilityFacility
  • IdentityIdentity
  • MessageMessage
  • severitySeverity

SyslogConsumer schreibt alle Plattformereignisse mithilfe von Facility Local0.The SyslogConsumer writes all platform events using Facility Local0. Sie können ein Update auf jede gültige Facility ausführen, indem Sie die Konfiguration ändern. Die verwendete Identität ist ServiceFabric.You can update to any valid facility by changing the config config. The Identity used is ServiceFabric. Das Feld „Message“ enthält das gesamte Ereignis (im JSON-Format serialisiert), sodass es abgefragt und von einer Vielzahl von Tools genutzt werden kann.The Message field contains the whole event serialized in JSON so that it can be queried and consumed by a variety of tools.

Aktivieren von SyslogConsumerEnable SyslogConsumer

Um SyslogConsumer zu aktivieren, müssen Sie ein Upgrade Ihres Clusters ausführen.To enable the SyslogConsumer, you need to perform an upgrade of your cluster. Der Abschnitt fabricSettings muss mit dem folgenden Code aktualisiert werden.The fabricSettings section needs to be updated with the following code. Beachten Sie, dass dieser Code nur Abschnitte umfasst, die im Zusammenhang mit SyslogConsumer stehen.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"
            }
            ]
        }
    ],

Die folgenden Änderungen sind zu beachten:Here are the changes to call out

  1. Im Abschnitt „Common“ gibt es einen neuen Parameter namens LinuxStructuredTracesEnabled.In the Common section, there is a new parameter called LinuxStructuredTracesEnabled. Dieser ist erforderlich, damit Linux-Ereignisse strukturiert und serialisiert vorliegen, wenn sie an Syslog gesendet werden.This is required to have Linux events structured and serialized when sent to Syslog.
  2. Im Abschnitt „Diagnostics“ gibt es eine neue ConsumerInstance: SyslogConsumer wurde hinzugefügt.In the Diagnostics section, a new ConsumerInstance: SyslogConsumer has been added. Dadurch wird die Plattform informiert, dass ein anderer Consumer der Ereignisse vorhanden ist.This tells the platform there is another consumer of the events.
  3. Der neue Abschnitt „SyslogConsumer“ muss IsEnabled mit dem Wert true enthalten.The new section SyslogConsumer needs to have IsEnabled as true. Die Konfiguration sieht vor, dass die Local0-Facility automatisch verwendet wird.It is configured to use the Local0 facility automatically. Sie können dies außer Kraft setzen, indem Sie einen anderen Parameter hinzufügen.You can override this by adding another parameter.
    {
        "name": "New LogFacility",
        "value": "<Valid Syslog Facility>"
    }

Integration von Azure Monitor-ProtokollenAzure Monitor logs integration

Sie können diese Syslog-Ereignisse in einem Überwachungstool wie Azure Monitor-Protokolle lesen.You can read these Syslog events in a monitoring tool such as Azure Monitor logs. Sie können einen Log Analytics-Arbeitsbereich erstellen, indem Sie Azure Marketplace mit den folgenden [instructions].(../azure-monitor/learn/quick-create-workspace.md) verwenden. Außerdem müssen Sie Ihrem Cluster den Log Analytics-Agent hinzufügen, um diese Daten zu erfassen und an den Arbeitsbereich zu senden.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. Dies ist der gleiche Agent, der verwendet wird, um Leistungsindikatoren zu erfassen.This is the same agent used to collect performance counters.

  1. Navigieren Sie zum Blatt Advanced Settings.Navigate to the Advanced Settings blade

    Arbeitsbereichseinstellungen

  2. Klicken Sie auf Data.Click Data

  3. Klicken Sie auf Syslog.Click Syslog

  4. Konfigurieren Sie Local0 als die nachzuverfolgende Facility. Sie können eine andere Facility hinzufügen, wenn Sie diese in fabricSettings geändert haben.Configure Local0 as the Facility to track. You can add another Facility if you changed it in fabricSettings

    Konfigurieren von Syslog

  5. Wechseln Sie zum Abfrage-Explorer, indem Sie im Menü der Arbeitsbereichsressource auf Logs klicken, um die Abfrage zu starten.Head over to the query explorer by clicking Logs in the workspace resource's menu to start querying

    Arbeitsbereichsprotokolle

  6. Sie können die Tabelle Syslog abfragen, um nach ServiceFabric als Prozessname zu suchen.You can query against the Syslog table looking for ServiceFabric as the ProcessName. Die folgende Abfrage ist ein Beispiel dafür, wie Sie den JSON-Code im Ereignis analysieren und seinen Inhalt anzeigen können.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

Syslog-Abfrage

Das Beispiel oben ist ein NodeDown-Ereignis.The example above is of a NodeDown event. Die vollständige Liste der Ereignisse können Sie hier anzeigen.You can view the full list of events here.

Nächste SchritteNext steps