CodeGym /Cursos /Docker SELF /Visualização de logs no Kibana

Visualização de logs no Kibana

Docker SELF
Nível 22 , Lição 2
Disponível

8.1 Configurando o índice para logs do Docker

Para demonstração, criei uma imagem Docker com ELK e Filebeat, que inclui um programa de teste para gerar logs. Neste exemplo, vamos focar na configuração do índice para os logs do Docker no Kibana.

Passo 1: Clonando o repositório e iniciando o stack ELK

Baixe o repositório com as configurações do Docker Compose para o stack ELK e inicie-o:

Terminal

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker compose up

Para facilitar, a flag -d foi omitida para que você possa ver o processo de inicialização do stack ELK. A inicialização pode levar alguns minutos. Após a inicialização bem-sucedida, você verá no log uma entrada como esta:

Terminal

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],
"pid":6,"message":"http server running at http://0:5601"}

Passo 2: Acessando o Kibana

Abra o navegador e acesse o endereço http://localhost:5601.

Passo 3: Configurando o índice para logs

Selecione no menu à esquerda do Kibana a seção Discover para acessar a página de criação de índice.

Passo 4: Criando um novo índice

Clique no botão Create index pattern para abrir o formulário de configuração. No campo Index pattern name, insira logstash-*. Se a configuração estiver correta, o Kibana mostrará os índices correspondentes à regra.

Passo 5: Selecionando o campo de data e hora

Na próxima página, selecione o campo principal com o timestamp — @timestamp.

Passo 6: Verificando o índice

Após concluir a configuração, você verá a página de configurações do índice. Não são necessárias ações adicionais no momento.

Passo 7: Visualizando os logs

Volte para a seção Discover, onde serão exibidos os registros de logs dos containers Docker.

8.2 Criando dashboards para visualização de logs

Passo 1. Crie dashboards para visualizar os logs

No menu esquerdo, clica na seção "Dashboard" — isso vai te levar pra página onde os dashboards são criados.

Passo 2. Toca em «Create new dashboard», e você vai ser levado pra tela onde os objetos são adicionados a esse Dashboard.

Passo 3. Clica no botão «Create new», e o Kibana vai te sugerir escolher como os dados serão exibidos. Tem várias opções, mas pra exemplo vamos focar em duas — gráficos no estilo «Vertical Bar» e tabela de dados «Data Table». O resto é configurado de forma parecida.

8.3 Histograma de logs

Vamos fazer um histograma, usando o exemplo de “Vertical Bar”, que vai mostrar a proporção de requisições bem-sucedidas e mal-sucedidas do serviço. Depois de configurar, vai ficar algo assim:

As requisições com código de resposta < 400 são consideradas bem-sucedidas, e todas >= 400 são consideradas problemáticas.

Primeiro, precisamos selecionar a fonte de dados para o gráfico. Pegamos o Index Pattern que criamos antes.

Após selecionar a fonte, um gráfico geral padrão aparece automaticamente. Bora configurar isso.

Na seção “Buckets”, clica em “Add”, escolhe “X-axis” e configura o eixo X. Nele, vamos plotar timestamps. No campo “Aggregation”, escolhemos “Date Histogram”, e em “Field” colocamos “@timestamp”. O campo “Minimum interval” pode ficar em “Auto”.

Clica em “Update”, e no gráfico aparecerá o número de requisições a cada 30 segundos.

Agora vamos configurar as colunas no eixo Y. Por enquanto, ele mostra apenas o número total de requisições no intervalo de tempo. Vamos mudar a agregação para “Sum Bucket”, pra adicionar as requisições bem-sucedidas e problemáticas. Na seção Bucket → Aggregation, escolhemos “Filters” e configuramos o filtro: “statusCode >= 400”. No campo “Custom label”, escrevemos um nome claro para a métrica.

Clica em “Update”, e o gráfico vai mostrar apenas as requisições problemáticas.

Quer mudar a cor das colunas? Clique no círculo na legenda do gráfico, e vai aparecer uma janela pra escolher a cor.

Agora vamos adicionar os dados das requisições bem-sucedidas. Na seção “Metrics”, clica em “Add” e escolhe “Y-axis”. Configura do mesmo jeito, mas para o filtro, coloca “statusCode < 400”.

Alteramos a cor para a nova coluna, e aí teremos uma visualização da proporção de requisições bem-sucedidas e problemáticas.

Não esquece de salvar o gráfico, clicando em “Save” na parte superior da tela. Dá um nome, e ele vai aparecer no Dashboard.

8.4 Tabela de Logs

Bora criar uma tabela "Data Table" pra gente ver a lista de todas as URLs pras quais teve requisição, e a quantidade de vezes. Vamos começar, como fizemos com o Vertical Bar, selecionando a fonte de dados.

Depois de selecionar a fonte, na tela vai aparecer uma tabela com uma única coluna, mostrando o número total de requisições pro intervalo de tempo escolhido.

Agora vamos configurar a tabela. Vai lá no bloco "Buckets", clica em "Add" e seleciona "Split rows".

No campo que apareceu, "Aggregation", escolhe "Terms", e em "Field" coloca "url.keyword".

No campo "Custom label", coloca um nome fácil de entender, tipo "Url". Aí clica em "Update" — e tá pronta nossa tabela. Ela mostra a quantidade de requisições pra cada URL no intervalo de tempo escolhido.

Pra salvar a tabela, clica em "Save" na parte de cima da tela, coloca um nome (tipo, "Urls"), e volta pro Dashboard. Agora dá pra ver as duas visualizações que criamos.

Dashboard pronto com tabela e gráfico
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION