Dicas de .NET
Observabilidade com .NET 10: Grafana Loki, Serilog e Docker
22/09/2026
0 visualizações
Sobre o Vídeo
Configure um pipeline de logs estruturados com .NET, Serilog, Grafana Loki e Docker Compose, preparando labels para consultas, filtros e dashboards no Grafana.
Aprenda a iniciar uma estrutura de observabilidade para aplicações .NET 10 utilizando Serilog, Grafana Loki, Grafana e Docker Compose.
Nesta primeira parte, será criada uma aplicação Console em C# e configurado o envio de logs estruturados para o Loki por meio do sink Serilog.Sinks.Grafana.Loki. O ambiente de observabilidade será executado em containers Docker, evitando instalações locais mais complexas e mantendo as dependências isoladas.
O conteúdo apresenta o papel de cada componente da arquitetura: o Serilog produz e direciona os eventos de log, o Grafana Loki recebe e armazena esses eventos e o Grafana funciona como interface para visualização, consultas e criação de dashboards.
Também são abordados:
- Conceitos de observabilidade com logs, métricas e traces;
- Diferenças entre Grafana, Loki, Prometheus e Elasticsearch;
- Instalação e validação do SDK do .NET;
- Criação de projetos com a .NET CLI;
- Estrutura de uma aplicação Console com top-level statements;
- Instalação de pacotes NuGet pela linha de comando;
- Conceito e funcionamento dos sinks do Serilog;
- Criação dos serviços Grafana e Loki com Docker Compose;
- Configuração de portas, credenciais e dependências entre containers;
- Uso de volumes e arquivos YAML de configuração do Loki;
- Diagnóstico de containers com docker ps, docker logs e docker compose logs;
- Configuração de labels para indexação e filtragem dos logs;
- Envio dos eventos para o endpoint HTTP do Loki;
- Uso de CloseAndFlush() para garantir o envio dos logs pendentes;
- Configuração do Loki como Data Source no Grafana;
- Comunicação entre serviços pela rede interna do Docker.
Ao final, estará pronta a base técnica para explorar os logs no Grafana e criar consultas, filtros e painéis de observabilidade.
# Índice de capítulos
00:00:00 Introdução à observabilidade com .NET
00:00:34 O que é o Grafana Loki
00:00:56 Loki como sink do Serilog
00:01:38 Ferramentas utilizadas: .NET 10, Docker e VS Code
00:02:31 Objetivo: da instalação ao dashboard
00:02:51 Aplicação Console e escopo do hands-on
00:03:55 Site, documentação e ecossistema Grafana
00:06:03 Grafana: dashboards, métricas, logs e traces
00:06:45 Conhecendo a documentação do Grafana Loki
00:08:26 Loki, Prometheus e observabilidade distribuída
00:09:53 Como Grafana, Loki e Prometheus processam dados
00:10:54 Comparação com Elasticsearch
00:11:34 Instalação do .NET e Docker
00:13:58 Verificando o ambiente de desenvolvimento
00:15:18 Consultando a versão e os SDKs do .NET
00:16:18 Templates disponíveis na .NET CLI
00:18:10 Criando o projeto Console
00:19:38 Abrindo o projeto no Visual Studio Code
00:19:57 Profiles e extensões do VS Code
00:21:27 Estrutura de um projeto .NET Console
00:22:39 Configurações do arquivo .csproj
00:23:44 Top-level statements no Program.cs
00:24:12 Serilog e o sink para Grafana Loki
00:26:43 Instalando os pacotes NuGet
00:27:17 Arquitetura do Docker Compose
00:29:01 Volumes e configuração persistente do Loki
00:30:29 Criando o arquivo docker-compose.yml
00:32:19 Serviços, portas e credenciais do Grafana
00:33:17 Verificando conflitos entre containers
00:35:27 Executando o Docker Compose
00:37:10 Consultando logs dos containers
00:38:47 Vantagens do Docker para o ambiente local
00:39:42 Configurando o Serilog e as labels
00:41:16 Criando o LoggerConfiguration
00:42:49 Endpoint HTTP e sink do Loki
00:43:48 Labels, chaves e valores para filtragem
00:45:22 Compilando e executando a aplicação
00:45:49 Garantindo o envio com CloseAndFlush()
00:47:11 Acessando a interface do Grafana
00:47:44 Configurando o Loki como Data Source
00:48:03 Comunicação pela rede interna do Docker
00:48:59 Encerramento e continuação do tutorial
Aprenda a iniciar uma estrutura de observabilidade para aplicações .NET 10 utilizando Serilog, Grafana Loki, Grafana e Docker Compose.
Nesta primeira parte, será criada uma aplicação Console em C# e configurado o envio de logs estruturados para o Loki por meio do sink Serilog.Sinks.Grafana.Loki. O ambiente de observabilidade será executado em containers Docker, evitando instalações locais mais complexas e mantendo as dependências isoladas.
O conteúdo apresenta o papel de cada componente da arquitetura: o Serilog produz e direciona os eventos de log, o Grafana Loki recebe e armazena esses eventos e o Grafana funciona como interface para visualização, consultas e criação de dashboards.
Também são abordados:
- Conceitos de observabilidade com logs, métricas e traces;
- Diferenças entre Grafana, Loki, Prometheus e Elasticsearch;
- Instalação e validação do SDK do .NET;
- Criação de projetos com a .NET CLI;
- Estrutura de uma aplicação Console com top-level statements;
- Instalação de pacotes NuGet pela linha de comando;
- Conceito e funcionamento dos sinks do Serilog;
- Criação dos serviços Grafana e Loki com Docker Compose;
- Configuração de portas, credenciais e dependências entre containers;
- Uso de volumes e arquivos YAML de configuração do Loki;
- Diagnóstico de containers com docker ps, docker logs e docker compose logs;
- Configuração de labels para indexação e filtragem dos logs;
- Envio dos eventos para o endpoint HTTP do Loki;
- Uso de CloseAndFlush() para garantir o envio dos logs pendentes;
- Configuração do Loki como Data Source no Grafana;
- Comunicação entre serviços pela rede interna do Docker.
Ao final, estará pronta a base técnica para explorar os logs no Grafana e criar consultas, filtros e painéis de observabilidade.
# Índice de capítulos
00:00:00 Introdução à observabilidade com .NET
00:00:34 O que é o Grafana Loki
00:00:56 Loki como sink do Serilog
00:01:38 Ferramentas utilizadas: .NET 10, Docker e VS Code
00:02:31 Objetivo: da instalação ao dashboard
00:02:51 Aplicação Console e escopo do hands-on
00:03:55 Site, documentação e ecossistema Grafana
00:06:03 Grafana: dashboards, métricas, logs e traces
00:06:45 Conhecendo a documentação do Grafana Loki
00:08:26 Loki, Prometheus e observabilidade distribuída
00:09:53 Como Grafana, Loki e Prometheus processam dados
00:10:54 Comparação com Elasticsearch
00:11:34 Instalação do .NET e Docker
00:13:58 Verificando o ambiente de desenvolvimento
00:15:18 Consultando a versão e os SDKs do .NET
00:16:18 Templates disponíveis na .NET CLI
00:18:10 Criando o projeto Console
00:19:38 Abrindo o projeto no Visual Studio Code
00:19:57 Profiles e extensões do VS Code
00:21:27 Estrutura de um projeto .NET Console
00:22:39 Configurações do arquivo .csproj
00:23:44 Top-level statements no Program.cs
00:24:12 Serilog e o sink para Grafana Loki
00:26:43 Instalando os pacotes NuGet
00:27:17 Arquitetura do Docker Compose
00:29:01 Volumes e configuração persistente do Loki
00:30:29 Criando o arquivo docker-compose.yml
00:32:19 Serviços, portas e credenciais do Grafana
00:33:17 Verificando conflitos entre containers
00:35:27 Executando o Docker Compose
00:37:10 Consultando logs dos containers
00:38:47 Vantagens do Docker para o ambiente local
00:39:42 Configurando o Serilog e as labels
00:41:16 Criando o LoggerConfiguration
00:42:49 Endpoint HTTP e sink do Loki
00:43:48 Labels, chaves e valores para filtragem
00:45:22 Compilando e executando a aplicação
00:45:49 Garantindo o envio com CloseAndFlush()
00:47:11 Acessando a interface do Grafana
00:47:44 Configurando o Loki como Data Source
00:48:03 Comunicação pela rede interna do Docker
00:48:59 Encerramento e continuação do tutorial
Notas Importantes
Links:
Grafana Labs
Grafana Loki
Docker
https://docs.docker.com/get-started/get-docker/
.Net
Tecnologias e Tags
.NET Core
C#
Docker
Grafana
observabilidade
.net 10
c#
grafana
grafana loki
serilog
serilog sinks
serilog.sinks.grafana.loki
logs estruturados
structured logging
docker
docker compose
containers
monitoramento
logging
labels loki
filtros grafana
consultas de logs
logql
grafana data source
dashboards
microservices
microsserviços
sistemas distribuídos
prometheus
elasticsearch
.net cli
nuget
visual studio code
devops
open source
observability
asp net core