Service Fabric Linux-klusterhändelser i Syslog
Service Fabric exponerar en uppsättning plattformshändelser som informerar dig om viktig aktivitet i klustret. Den fullständiga listan över händelser som exponeras finns här. Det finns olika sätt på vilka dessa händelser kan användas. I den här artikeln diskuterar vi hur du konfigurerar Service Fabric för att skriva dessa händelser till Syslog.
Introduktion
I 6.4-versionen introducerades SyslogConsumer för att skicka Service Fabric-plattformshändelserna till Syslog för Linux-kluster. När det är aktiverat flödar händelser automatiskt till Syslog som kan samlas in och skickas av Log Analytics-agenten.
Varje Syslog-händelse har fyra komponenter
- Tillgång
- Identitet
- Meddelande
- Allvarlighet
SyslogConsumer skriver alla plattformshändelser med hjälp av Anläggning Local0
. Du kan uppdatera till valfri giltig anläggning genom att ändra konfigurationen. Den identitet som används är ServiceFabric
. Fältet Meddelande innehåller hela händelsen serialiserad i JSON så att den kan efterfrågas och användas av olika verktyg.
Aktivera SyslogConsumer
Om du vill aktivera SyslogConsumer måste du utföra en uppgradering av klustret. Avsnittet fabricSettings
måste uppdateras med följande kod. Observera att den här koden bara innehåller avsnitt som rör 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"
}
]
}
],
Här är ändringarna som ska framhävas
- I avsnittet Common finns det en ny parameter med namnet
LinuxStructuredTracesEnabled
. Detta krävs för att Linux-händelser ska vara strukturerade och serialiserade när de skickas till Syslog. - I avsnittet Diagnostik lades en ny ConsumerInstance: SyslogConsumer till. Detta talar om för plattformen att det finns en annan konsument av händelserna.
- Det nya avsnittet SyslogConsumer måste ha
IsEnabled
somtrue
. Den är konfigurerad att använda Lokal0-anläggningen automatiskt. Du kan åsidosätta detta genom att lägga till en annan parameter.
{
"name": "New LogFacility",
"value": "<Valid Syslog Facility>"
}
Integrering av Azure Monitor-loggar
Du kan läsa dessa Syslog-händelser i ett övervakningsverktyg, till exempel Azure Monitor-loggar. Du kan skapa en Log Analytics-arbetsyta med hjälp av Azure Marketplace med hjälp av dessa instruktioner.
Du måste också lägga till Log Analytics-agenten i klustret för att samla in och skicka dessa data till arbetsytan. Det här är samma agent som används för att samla in prestandaräknare.
Gå till avsnittet
Advanced Settings
Välj
Data
Välj
Syslog
Konfigurera Local0 som den anläggning som ska spåras. Du kan lägga till en annan anläggning om du har ändrat den i fabricSettings
Gå över till frågeutforskaren genom att
Logs
klicka på arbetsyteresursens meny för att börja frågaDu kan fråga mot tabellen
Syslog
som letarServiceFabric
efter som ProcessName. Följande fråga är ett exempel på hur du parsar JSON i händelsen och visar dess innehåll
Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload
Exemplet ovan är en NodeDown-händelse. Du kan visa hela listan över händelser här.
Nästa steg
- Distribuera Log Analytics-agenten till dina noder för att samla in prestandaräknare och samla in dockerstatistik och loggar för dina containrar
- Bekanta dig med loggsöknings - och frågefunktionerna som erbjuds som en del av Azure Monitor-loggar
- Använda View Designer för att skapa anpassade vyer i Azure Monitor-loggar
- Referens för hur du integrerar Azure Monitor-loggar med Syslog.