DEV Community

Marcius Bezerra
Marcius Bezerra

Posted on

Observabilidade com .NET 10: Grafana Loki, Serilog e Docker - Parte 2

Configure o Loki como Data Source, consulte logs com LogQL e crie dashboards para aplicações .NET executadas com Docker Compose.

Neste tutorial, você aprenderá a visualizar, consultar e organizar logs de aplicações .NET 10 utilizando Grafana, Grafana Loki, Serilog e Docker Compose.

O vídeo demonstra como acessar a interface do Grafana, configurar o Loki como fonte de dados e utilizar corretamente a comunicação interna entre containers. Em uma rede do Docker Compose, o endereço do Loki deve usar o nome do serviço, como http://loki:3100, em vez de localhost.

Também são apresentadas consultas com LogQL, incluindo seleção por labels, pesquisa textual e filtragem por nível de severidade. Os resultados são transformados em painéis reutilizáveis dentro de dashboards do Grafana.

Conteúdo técnico abordado

  • Acesso ao Grafana pela porta 3000;
  • Configuração do Loki como Data Source;
  • Comunicação entre containers pela rede do Docker Compose;
  • Uso do nome do serviço Docker em vez de localhost;
  • Atualização das imagens do Grafana e do Loki;
  • Execução de docker compose down e recriação dos containers;
  • Exploração de logs pela interface Explore;
  • Introdução às consultas LogQL;
  • Seleção de streams por labels;
  • Filtros de texto em mensagens de log;
  • Filtragem por níveis como Information, Warning, Error e Critical;
  • Envio de logs do .NET com Serilog;
  • Criação de logs estruturados com placeholders;
  • Transformação de propriedades em campos pesquisáveis;
  • Visualização de logs em tempo real;
  • Criação, duplicação e edição de painéis;
  • Organização e versionamento de dashboards;
  • Envio manual de logs para a API HTTP do Loki;
  • Testes com HTTPie e PowerShell;
  • Tratamento de timestamps inválidos no payload;
  • Alternativa de integração direta com HttpClient;
  • Considerações sobre persistência e storage em produção.

Os exemplos ajudam a compreender o fluxo completo de observabilidade: a aplicação .NET gera eventos, o Serilog Sink envia os dados, o Loki agrega os logs e o Grafana permite pesquisar, filtrar e construir dashboards operacionais.

Índice de capítulos

00:00:00 Introdução ao Grafana Loki e à agregação de logs
00:00:56 Acessando a interface do Grafana
00:01:18 Conectando o Grafana ao Loki
00:02:01 Comunicação entre containers no Docker Compose
00:02:56 Login e configuração inicial do Grafana
00:03:44 Adicionando o Loki como Data Source
00:05:16 Consultas, painéis e dashboards
00:06:42 Primeira consulta com LogQL
00:07:16 Corrigindo incompatibilidades de versão de Containers
00:07:50 Atualizando e recriando os containers (Docker Compose Down/Up Build)
00:09:54 Reconfigurando o Data Source Grafana
00:10:03 Labels, chaves e valores no Loki
00:11:28 Enviando logs da aplicação .NET com Serilog Loki
00:11:43 Visualizando logs estruturados no Grafana
00:12:16 Níveis de log e severidade para filtro Grafana
00:13:11 Filtrando logs por texto no Grafana
00:13:41 Transformando uma consulta em painel no Grafana
00:14:34 Duplicando e editando painéis no Grafana
00:15:00 Salvando e versionando o dashboard no Grafana
00:17:03 Criando logs estruturados com placeholders para Loki
00:19:05 Visualização de logs em tempo real no Grafana
00:20:25 Consultas e filtros por nível no Grafana
00:21:04 Criando um painel exclusivo para erros no Grafana
00:22:13 Organizando os painéis do dashboard no Grafana
00:23:13 Como o Serilog Sink envia logs ao Loki
00:24:19 Envio manual de logs com HTTPie
00:26:31 Consultando logs enviados manualmente
00:28:49 Envio direto com HttpClient no .NET para Loki

Links:

Grafana Labs

https://grafana.com/

Grafana Loki

https://grafana.com/oss/loki/

Docker

https://docs.docker.com/get-started/get-docker/

.Net

https://dotnet.microsoft.com/en-us/download

Top comments (0)