Eventos de cluster do Service Fabric Linux no Syslog
O Service Fabric expõe um conjunto de eventos da plataforma para informá-lo sobre atividades importantes em seu cluster. A lista completa de eventos expostos está disponível aqui. Existem várias maneiras pelas quais esses eventos podem ser consumidos. Neste artigo, discutimos como configurar o Service Fabric para gravar esses eventos no Syslog.
Introdução
Na versão 6.4, o SyslogConsumer foi introduzido para enviar os eventos da plataforma Service Fabric para clusters do Syslog para Linux. Uma vez ativado, os eventos fluem automaticamente para o Syslog, que pode ser coletado e enviado pelo Log Analytics Agent.
Cada evento Syslog tem quatro componentes
- Instalações
- Identidade
- Mensagem
- Gravidade
O SyslogConsumer grava todos os eventos da plataforma usando o Facility Local0
. Você pode atualizar para qualquer recurso válido alterando a configuração. A Identidade usada é ServiceFabric
. O campo Mensagem contém todo o evento serializado em JSON para que possa ser consultado e consumido por várias ferramentas.
Ativar SyslogConsumer
Para habilitar o SyslogConsumer, você precisa executar uma atualização do cluster. A fabricSettings
seção precisa ser atualizada com o código a seguir. Observe que este código inclui apenas seções relacionadas ao 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"
}
]
}
],
Aqui estão as alterações a serem destacadas
- Na seção Comum, há um novo parâmetro chamado
LinuxStructuredTracesEnabled
. Isso é necessário para que os eventos Linux sejam estruturados e serializados quando enviados para o Syslog. - Na seção Diagnóstico, um novo ConsumerInstance: SyslogConsumer foi adicionado. Isso diz à plataforma que há outro consumidor dos eventos.
- A nova seção SyslogConsumer precisa ter
IsEnabled
comotrue
. Ele está configurado para usar o recurso Local0 automaticamente. Você pode substituir isso adicionando outro parâmetro.
{
"name": "New LogFacility",
"value": "<Valid Syslog Facility>"
}
Integração de logs do Azure Monitor
Você pode ler esses eventos do Syslog em uma ferramenta de monitoramento, como os logs do Azure Monitor. Você pode criar um espaço de trabalho do Log Analytics usando o Azure Marketplace usando estas instruções.
Você também precisa adicionar o agente do Log Analytics ao cluster para coletar e enviar esses dados para o espaço de trabalho. Este é o mesmo agente usado para coletar contadores de desempenho.
Navegue até a
Advanced Settings
seçãoSelecione
Data
Selecione
Syslog
Configure Local0 como o recurso a ser rastreado. Você pode adicionar outro recurso se o alterou em fabricSettings
Vá para o explorador de consultas clicando
Logs
no menu do recurso de espaço de trabalho para iniciar a consultaVocê pode consultar a
Syslog
tabela procurandoServiceFabric
como ProcessName. A consulta a seguir é um exemplo de como analisar o JSON no evento e exibir seu conteúdo
Syslog | where ProcessName == "ServiceFabric" | extend $payload = parse_json(SyslogMessage) | project $payload
O exemplo acima é de um evento NodeDown. Pode ver a lista completa de eventos aqui.
Próximos passos
- Implante o agente do Log Analytics em seus nós para coletar contadores de desempenho e coletar estatísticas e logs do docker para seus contêineres
- Familiarize-se com os recursos de pesquisa e consulta de logs oferecidos como parte dos logs do Azure Monitor
- Usar o View Designer para criar exibições personalizadas nos logs do Azure Monitor
- Referência de como o Azure Monitor registra a integração com o Syslog.