Eventi cluster Linux di Service Fabric in Syslog
Service Fabric espone una serie di eventi della piattaforma per informare l'utente delle attività principali nel cluster. L'elenco completo degli eventi esposti è disponibile qui. Esistono diversi modi in cui questi eventi possono essere utilizzati. Questo articolo mostra come configurare Service Fabric per la scrittura di questi eventi in Syslog.
Introduzione
Nella versione 6.4 è stato introdotto SyslogConsumer che consente di inviare gli eventi della piattaforma Service Fabric a Syslog per i cluster Linux. Dopo l’attivazione, gli eventi vengono trasferiti automaticamente in Syslog in modo che possano essere raccolti e inviati dall'agente di Log Analytics.
Ogni evento Syslog ha quattro componenti
- Struttura
- Identità
- Message
- Gravità
Il SyslogConsumer scrive tutti gli eventi della piattaforma tramite Facility Local0
. È possibile effettuare l'aggiornamento a qualsiasi struttura valida modificando la configurazione. L'identità usata è ServiceFabric
. Il campo Messaggio contiene l'intero evento serializzato in JSON, in modo che possano essere eseguite query o essere usato da una serie di strumenti.
Abilitare SyslogConsumer
Per abilitare SyslogConsumer, è necessario eseguire un aggiornamento del cluster. La sezione fabricSettings
deve essere aggiornata con il codice seguente. Tenere presente che questo codice include solo le sezioni relative a 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"
}
]
}
],
Qui ci sono le modifiche da richiamare
- Nella sezione Comune, è disponibile un nuovo parametro denominato
LinuxStructuredTracesEnabled
. Questo è necessario per avere eventi Linux strutturati e serializzati quando inviati a Syslog. - Nella sezione Diagnostica, è stato aggiunto un nuovo ConsumerInstance: SyslogConsumer. Ciò comunica alla piattaforma che c'è un altro consumer di eventi.
- La nuova sezione SyslogConsumer deve avere
IsEnabled
cometrue
. La configurazione prevede l'uso automatico della struttura Local0. È possibile eseguire l'override di questo elemento mediante l'aggiunta di un altro parametro.
{
"name": "New LogFacility",
"value": "<Valid Syslog Facility>"
}
Integrazione log di Monitoraggio di Azure
È possibile leggere questi eventi Syslog in uno strumento di monitoraggio come i log di Monitoraggio di Azure. È possibile creare un'area di lavoro Log Analytics con Azure Marketplace seguendo queste istruzioni.
È anche necessario aggiungere l'agente di Log Analytics al cluster per raccogliere e inviare questi dati all'area di lavoro. Questo è lo stesso agente usato per raccogliere i contatori delle prestazioni.
Passare alla sezione
Advanced Settings
Selezionare
Data
Selezionare
Syslog
Configurare Local0 come la Facility di cui tenere traccia. Se è stato modificato in fabricSettings, è possibile aggiungere un'altra Facility
Passare al query explorer facendo clic su
Logs
nel menu della risorsa dell’area di lavoro per iniziare l’esecuzione della queryÈ possibile eseguire una query con la tabella
Syslog
cercandoServiceFabric
come ProcessName. La query riportata di seguito è un esempio di come analizzare il codice JSON dell'evento e visualizzarne il contenuto
Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload
L'esempio precedente è di un evento NodeDown. L'elenco completo degli eventi è disponibile qui.
Passaggi successivi
- Distribuire l'agente di Log Analytics sui nodi per raccogliere contatori delle prestazioni, statistiche Docker e registri per i contenitori
- Acquisire familiarità con le funzionalità di ricerca log ed esecuzione di query incluse nei log di Monitoraggio di Azure
- Usare Progettazione visualizzazioni per creare viste personalizzate nei log di Monitoraggio di Azure
- Informazioni di riferimento per l'integrazione dei log di Monitoraggio di Azure con Syslog.