Sdílet prostřednictvím


Události clusteru Service Fabric s Linuxem v Syslogu

Service Fabric zveřejňuje sadu událostí platformy, které vás informují o důležitých aktivitách v clusteru. Úplný seznam událostí, které jsou vystaveny, je zde k dispozici. Tyto události je možné využívat různými způsoby. V tomto článku si probereme, jak nakonfigurovat Service Fabric, aby tyto události zapisovali do Syslogu.

Poznámka:

Tento článek byl nedávno aktualizován tak, aby místo Log Analytics používal termín protokoly služby Azure Monitor. Data protokolů jsou stále uložená v pracovním prostoru služby Log Analytics a stále se shromažďují a analyzují stejnou službou Log Analytics. Aktualizujeme terminologii tak, aby lépe odrážela roli protokolů ve službě Azure Monitor. Podrobnosti najdete v tématu Změny terminologie služby Azure Monitor.

Úvod

Ve verzi 6.4 byla představena služba SyslogConsumer pro odesílání událostí platformy Service Fabric do syslogu pro clustery s Linuxem. Po zapnutí se události automaticky přesunou do Syslogu, které může shromažďovat a odesílat agent Log Analytics.

Každá událost Syslog má 4 komponenty.

  • Zařízení
  • Identita
  • Zpráva
  • Závažnost

SyslogConsumer zapisuje všechny události platformy pomocí facility Local0. Změnou konfigurace můžete aktualizovat na libovolné platné zařízení. Použitá identita je ServiceFabric. Pole Zpráva obsahuje celou událost serializovanou ve formátu JSON, aby ji bylo možné dotazovat a využívat různými nástroji.

Povolení syslogConsumer

Pokud chcete povolit SyslogConsumer, musíte provést upgrade clusteru. Oddíl fabricSettings je potřeba aktualizovat následujícím kódem. Všimněte si, že tento kód obsahuje jenom oddíly související s 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"
            }
            ]
        }
    ],

Tady jsou změny, které se mají volat.

  1. V části Společné existuje nový parametr s názvem LinuxStructuredTracesEnabled. To je nutné, aby byly události Linuxu strukturované a serializované při odesílání do syslogu.
  2. V části Diagnostika byla přidána nová instance ConsumerInstance: SyslogConsumer. To platformě říká, že existuje další uživatel událostí.
  3. Nový oddíl SyslogConsumer musí mít IsEnabled jako true. Je nakonfigurovaná tak, aby automaticky používala místní zařízení. Můžete to přepsat přidáním dalšího parametru.
    {
        "name": "New LogFacility",
        "value": "<Valid Syslog Facility>"
    }

Integrace protokolů služby Azure Monitor

Tyto události Syslogu si můžete přečíst v monitorovacím nástroji, jako jsou protokoly služby Azure Monitor. Pomocí těchto [pokynů] můžete vytvořit pracovní prostor služby Log Analytics pomocí Azure Marketplace. (.. /azure-monitor/logs/quick-create-workspace.md) Abyste mohli shromažďovat a odesílat tato data do pracovního prostoru, musíte do clusteru přidat agenta Log Analytics. Jedná se o stejného agenta, který se používá ke shromažďování čítačů výkonu.

  1. Přechod do okna Advanced Settings

    Nastavení pracovního prostoru

  2. Klikněte na Data.

  3. Klikněte na Syslog.

  4. Nakonfigurujte local0 jako zařízení ke sledování. Pokud jste ho změnili v fabricSettings, můžete přidat další zařízení.

    Konfigurace syslogu

  5. Přejděte do Průzkumníka dotazů kliknutím Logs v nabídce prostředku pracovního prostoru a začněte dotazovat.

    Protokoly pracovního prostoru

  6. Můžete se dotazovat na Syslog tabulku, která hledá ServiceFabric název ProcessName. Následující dotaz je příkladem toho, jak analyzovat JSON v události a zobrazit jeho obsah.

    Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload

Dotaz Syslogu

Výše uvedený příklad je událost NodeDown. Tady si můžete prohlédnout úplný seznam událostí.

Další kroky