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. Existem várias maneiras pelas quais esses eventos podem ser consumidos. Nesse artigo, discutimos como configurar o Service Fabric para escrever 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 Syslog para Linux. Depois de ativados, os eventos fluem automaticamente para o Syslog, que pode ser coletado e enviado pelo Agente Log Analytics.
Cada evento Syslog possui quatro 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 Mensagem contém todo o evento serializado em JSON para que possa ser consultado e consumido por diversas 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 Common, 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óstico, um novo ConsumerInstance: SyslogConsumer foi adicionado. Isso informa à plataforma que existe 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
É possível ler esses eventos de 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 essas instruções.
Também precisa de adicionar o agente Log Analytics ao seu cluster para recolher e enviar estes dados para o espaço de trabalho. Isso é o mesmo agente usado para coletar contadores de desempenho.
Navegue até a seção
Advanced Settings
Selecione
Data
Selecione
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.