Eventos de cluster no Service Fabric do Linux no Syslog
O Service Fabric expõe um conjunto de eventos de plataforma para informá-lo de atividade importante no seu cluster. A lista completa de eventos que são expostos está disponível aqui. Há várias maneiras por meio dos quais esses eventos podem ser consumidos. Neste artigo, vamos discutir como configurar o Service Fabric para gravar esses eventos de Syslog.
Observação
Este artigo foi atualizado recentemente para usar o termo logs do Azure Monitor em vez de Log Analytics. Os dados de log ainda são armazenados em um espaço de trabalho do Log Analytics e ainda são coletados e analisados pelo mesmo serviço do Log Analytics. Estamos atualizando a terminologia para refletir melhor a função dos logs no Azure Monitor. Confira as alterações de terminologia do Azure Monitor para obter detalhes.
Introdução
Na versão 6.4, foi introduzido o SyslogConsumer para enviar os eventos de plataforma do Service Fabric para Syslog para clusters do Linux. Assim que ativado, os eventos irão fluir automaticamente ao Syslog que pode ser coletado e enviado pelo Agente do Log Analytics.
Cada evento de Syslog tem 4 componentes
- Recurso
- Identidade
- Mensagem
- Severidade
O SyslogConsumer grava todos os eventos de plataforma usando o Recurso Local0
. Você pode atualizar qualquer recurso válido, alterando a configuração. A identidade usada é ServiceFabric
. O campo de Mensagem contém o evento inteiro serializado em JSON para que possa ser consultado e consumido por uma variedade de ferramentas.
Habilitar 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 esse código inclui apenas as 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 para ressaltar
- Na seção Comum, há um novo parâmetro chamado
LinuxStructuredTracesEnabled
. Isso é necessário ter eventos de Linus estruturados e serializado quando enviado para Syslog. - Na seção Diagnósticos, um novo ConsumerInstance: SyslogConsumer foi adicionado. Isso informa à plataforma que há outro consumidor de eventos.
- A nova seção SyslogConsumer precisa ter
IsEnabled
comotrue
. É configurado para usar o recurso de Local0 automaticamente. Você pode substituir isso, adicionando outro parâmetro.
{
"name": "New LogFacility",
"value": "<Valid Syslog Facility>"
}
Integração de logs do Azure Monitor
É possível ler esses eventos de Syslog em uma ferramenta de monitoramento, como os logs do Azure Monitor. É possível criar um workspace do Log Analytics usando o Azure Marketplace com essas [instruções].(../azure-monitor/logs/quick-create-workspace.md). Você também precisará adicionar o agente do Log Analytics ao seu cluster para coletar e enviar esses dados para o workspace. Isso é o mesmo agente usado para coletar contadores de desempenho.
Navegue até a
Advanced Settings
folhaClique em
Data
Clique em
Syslog
Configure o Local0 como o recurso a ser acompanhado. É possível adicionar outro recurso se ele for alterado em fabricSettings
Vá para o Gerenciador de consultas clicando
Logs
no menu do recurso do workspace para começar a consultarVocê 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. Você pode exibir a lista completa de eventos aqui.
Próximas etapas
- Implantar o Agente do Log Analytics para os nós para coletar os contadores de desempenho e coletar logs e estatísticas 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
- Use o Designer de Exibição para criar exibições personalizadas nos logs do Azure Monitor
- Referência sobre como é a integração dos logs do Azure Monitor com o Syslog.