Service Fabric-Linux-Clusterereignisse in Syslog
Service Fabric stellt eine Reihe von Plattformereignissen zur Verfügung, um Sie über wichtige Aktivitäten in Ihrem Cluster zu informieren. Die vollständige Liste der Ereignisse, die bereitgestellt werden, finden Sie hier. Es gibt verschiedene Möglichkeiten, diese Ereignisse zu nutzen. In diesem Artikel wird erläutert, wie Sie Service Fabric so konfigurieren, dass diese Ereignisse in Syslog geschrieben werden.
Einführung
In Release 6.4 wurde SyslogConsumer eingeführt, um die Ereignisse der Service Fabric-Plattform für Linux-Cluster an Syslog zu senden. Nach der Aktivierung werden Ereignisse automatisch an Syslog weitergeleitet, die vom Log Analytics-Agent erfasst und gesendet werden können.
Jedes Syslog-Ereignis besteht aus 4 Komponenten.
- Facility
- Identity
- `Message`
- severity
SyslogConsumer schreibt alle Plattformereignisse mithilfe von Facility Local0
. Sie können auf jede gültige Einstellung aktualisieren, indem Sie die Konfiguration ändern. Die verwendete Identität ist ServiceFabric
. Das Feld „Message“ enthält das gesamte Ereignis (im JSON-Format serialisiert), sodass es abgefragt und von verschiedenen Tools genutzt werden kann.
Aktivieren von SyslogConsumer
Um SyslogConsumer zu aktivieren, müssen Sie ein Upgrade Ihres Clusters ausführen. Der Abschnitt fabricSettings
muss mit dem folgenden Code aktualisiert werden. Beachten Sie, dass dieser Code nur Abschnitte umfasst, die im Zusammenhang mit SyslogConsumer stehen.
"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:
- Im Abschnitt „Common“ gibt es einen neuen Parameter namens
LinuxStructuredTracesEnabled
. Dieser ist erforderlich, damit Linux-Ereignisse strukturiert und serialisiert vorliegen, wenn sie an Syslog gesendet werden. - Im Abschnitt „Diagnostics“ wurde ein neues Element „ConsumerInstance: SyslogConsumer“ hinzugefügt. Dadurch wird die Plattform informiert, dass ein anderer Consumer der Ereignisse vorhanden ist.
- Der neue Abschnitt „SyslogConsumer“ muss
IsEnabled
mit dem Werttrue
enthalten. Die Konfiguration sieht vor, dass die Local0-Facility automatisch verwendet wird. Sie können dies außer Kraft setzen, indem Sie einen anderen Parameter hinzufügen.
{
"name": "New LogFacility",
"value": "<Valid Syslog Facility>"
}
Integration von Azure Monitor-Protokollen
Sie können diese Syslog-Ereignisse in einem Überwachungstool wie Azure Monitor-Protokolle lesen. Sie können einen Log Analytics-Arbeitsbereich mithilfe des Azure Marketplace anhand dieser Anweisungen erstellen.
Sie müssen auch den Log Analytics-Agent zu Ihrem Cluster hinzufügen, um diese Daten zu sammeln und an den Arbeitsbereich zu senden. Dies ist der gleiche Agent, der verwendet wird, um Leistungsindikatoren zu erfassen.
Navigieren Sie zum Abschnitt
Advanced Settings
.Wählen Sie
Data
aus.Wählen Sie
Syslog
aus.Konfigurieren Sie Local0 als die nachzuverfolgende Facility. Sie können eine andere Facility hinzufügen, wenn Sie diese in fabricSettings geändert haben.
Wechseln Sie zum Abfrage-Explorer, indem Sie im Menü der Arbeitsbereichsressource auf
Logs
klicken, um die Abfrage zu starten.Sie können die Tabelle
Syslog
abfragen, um nachServiceFabric
als Prozessname zu suchen. Die folgende Abfrage ist ein Beispiel dafür, wie Sie den JSON-Code im Ereignis analysieren und seinen Inhalt anzeigen können.
Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload
Das Beispiel oben ist ein NodeDown-Ereignis. Die vollständige Liste der Ereignisse können Sie hier anzeigen.
Nächste Schritte
- Stellen Sie den Log Analytics-Agent auf Ihren Knoten bereit, um Leistungsindikatoren zu erfassen und Docker-Statistiken und -Protokolle für Ihre Container zu sammeln.
- Machen Sie sich mit den Funktionen zur Protokollsuche und -abfrage in Azure Monitor-Protokolle vertraut.
- Erstellen benutzerdefinierter Ansichten in Azure Monitor-Protokollen mithilfe des Ansicht-Designers
- Referenz zur Vorgehensweise bei der Integration von Azure Monitor-Protokollen in Syslog.