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 attraverso cui questi eventi possono essere utilizzati. In questo articolo verrà illustrato come configurare Service Fabric per la scrittura di questi eventi in Syslog.
Nota
Questo articolo è stato aggiornato di recente in modo da usare il termine log di Monitoraggio di Azure anziché Log Analytics. I dati di log vengono comunque archiviati in un'area di lavoro Log Analytics e vengano ancora raccolti e analizzati dallo stesso servizio Log Analytics. Si sta procedendo a un aggiornamento della terminologia per riflettere meglio il ruolo dei log in Monitoraggio di Azure. Per informazioni dettagliate, vedere Modifiche della terminologia di Monitoraggio di Azure.
Introduzione
Nella versione 6.4, il SyslogConsumer è stato introdotto per inviare gli eventi della piattaforma Service Fabric a Syslog per i cluster Linux. Una volta attivati, gli eventi verranno trasferiti automaticamente in Syslog, che possono essere raccolti e inviati dall'agente di Log Analytics.
Ogni evento Syslog dispone di 4 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 possa essere eseguita una 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, un nuovo ConsumerInstance: SyslogConsumer è stato aggiunto. Questo 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 utilizzando Azure Marketplace tramite queste [istruzioni]. (../azure-monitor/logs/quick-create-workspace.md). È inoltre necessario aggiungere l'agente Log Analytics al cluster per raccogliere e inviare questi dati allo spazio di lavoro. Questo è lo stesso agente usato per raccogliere i contatori delle prestazioni.
Passare al pannello
Advanced Settings
Fare clic su
Data
Fare clic su
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.