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

  1. 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.
  2. I avsnittet Diagnostik lades en ny ConsumerInstance: SyslogConsumer till. Detta talar om för plattformen att det finns en annan konsument av händelserna.
  3. Det nya avsnittet SyslogConsumer måste ha IsEnabled som true. 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.

  1. Gå till avsnittet Advanced Settings

    Inställningar för arbetsyta

  2. Välj Data

  3. Välj Syslog

  4. 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

    Konfigurera Syslog

  5. Gå över till frågeutforskaren genom att Logs klicka på arbetsyteresursens meny för att börja fråga

    Arbetsyteloggar

  6. Du kan fråga mot tabellen Syslog som letar ServiceFabric 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

Syslog-fråga

Exemplet ovan är en NodeDown-händelse. Du kan visa hela listan över händelser här.

Nästa steg