Dicas de .NET
Observabilidade com .NET, Prometheus e Grafana: Métricas, Docker e /metrics - Parte 2
17/09/2026
0 visualizações
Sobre o Vídeo
Crie counters e histograms em uma Minimal API, consulte métricas no Prometheus e configure dashboards do Grafana com serviços executados via Docker Compose. Aprenda a implementar observabilidade em uma aplicação ASP.NET Core utilizando Prometheus, Grafana e Docker Compose.
Nesta etapa prática, são criadas métricas personalizadas com o pacote prometheus-net.AspNetCore. A aplicação disponibiliza os dados no endpoint /metrics, enquanto o Prometheus realiza o scrape periódico e fornece as séries temporais para consultas e visualizações no Grafana.
O tutorial demonstra como:
- Criar uma métrica do tipo Counter com CreateCounter;
- Incrementar valores utilizando Inc;
- Medir a duração de operações com Histogram e CreateHistogram;
- Controlar o timer com NewTimer e o descarte automático do using;
- Criar um endpoint em uma Minimal API para disparar as métricas;
- Executar a aplicação com dotnet watch;
- Inspecionar manualmente o endpoint /metrics;
- Interpretar séries de histogramas com os sufixos _sum, _count e buckets;
- Consultar métricas pela interface do Prometheus;
- Verificar o estado do scrape em Status - Targets;
- Entender o intervalo entre coleta e atualização das métricas;
- Configurar o Prometheus como Data Source do Grafana;
- Utilizar o nome do serviço do Docker Compose em vez de localhost;
- Criar painéis e executar consultas PromQL;
- Escolher visualizações adequadas para counters e métricas de duração;
- Salvar, editar, duplicar e organizar dashboards;
- Importar dashboards prontos do Grafana Labs por ID.
O conteúdo é especialmente útil para observabilidade de APIs, microsserviços, aplicações distribuídas e sistemas ASP.NET Core que precisam acompanhar volume de requisições, duração de operações e evolução das métricas ao longo do tempo.
# Índice de capítulos
00:00:00 Introdução e revisão da stack de observabilidade
00:03:34 Métricas personalizadas no Prometheus
00:05:13 Criando uma métrica Prometheus Counter no Program.cs
00:07:00 Criando um Histogram no Prometheus para duração de requisições
00:08:21 Endpoint /update, incremento e timer
00:10:38 Executando com dotnet watch e acessando /metrics
00:12:02 Analisando _sum, _count e buckets do Histogram no Prometheus
00:14:16 Consultando métricas na interface do Prometheus
00:16:57 Visualização Graph e intervalo de atualização (Prometheus)
00:18:05 Verificando o scrape em Status - Targets (Prometheus)
00:18:44 Configurando o Prometheus como Data Source no Grafana
00:20:03 Conectando Grafana e Prometheus pela rede Docker
00:22:06 Criando um dashboard no Grafana
00:23:10 Selecionando métricas e executando queries
00:24:08 Consultas PromQL e cálculo de rate no Grafana
00:25:29 Ajustando visualizações e salvando o dashboard no Grafana
00:26:07 Criando uma segunda visualização no Grafana
00:27:28 Editando, duplicando e nomeando painéis no Grafana
00:28:16 Procurando dashboards Grafana para ASP.NET Core
00:29:34 Importando dashboards do Grafana Labs por ID
00:30:19 Avaliando a compatibilidade dos dashboards
Nesta etapa prática, são criadas métricas personalizadas com o pacote prometheus-net.AspNetCore. A aplicação disponibiliza os dados no endpoint /metrics, enquanto o Prometheus realiza o scrape periódico e fornece as séries temporais para consultas e visualizações no Grafana.
O tutorial demonstra como:
- Criar uma métrica do tipo Counter com CreateCounter;
- Incrementar valores utilizando Inc;
- Medir a duração de operações com Histogram e CreateHistogram;
- Controlar o timer com NewTimer e o descarte automático do using;
- Criar um endpoint em uma Minimal API para disparar as métricas;
- Executar a aplicação com dotnet watch;
- Inspecionar manualmente o endpoint /metrics;
- Interpretar séries de histogramas com os sufixos _sum, _count e buckets;
- Consultar métricas pela interface do Prometheus;
- Verificar o estado do scrape em Status - Targets;
- Entender o intervalo entre coleta e atualização das métricas;
- Configurar o Prometheus como Data Source do Grafana;
- Utilizar o nome do serviço do Docker Compose em vez de localhost;
- Criar painéis e executar consultas PromQL;
- Escolher visualizações adequadas para counters e métricas de duração;
- Salvar, editar, duplicar e organizar dashboards;
- Importar dashboards prontos do Grafana Labs por ID.
O conteúdo é especialmente útil para observabilidade de APIs, microsserviços, aplicações distribuídas e sistemas ASP.NET Core que precisam acompanhar volume de requisições, duração de operações e evolução das métricas ao longo do tempo.
# Índice de capítulos
00:00:00 Introdução e revisão da stack de observabilidade
00:03:34 Métricas personalizadas no Prometheus
00:05:13 Criando uma métrica Prometheus Counter no Program.cs
00:07:00 Criando um Histogram no Prometheus para duração de requisições
00:08:21 Endpoint /update, incremento e timer
00:10:38 Executando com dotnet watch e acessando /metrics
00:12:02 Analisando _sum, _count e buckets do Histogram no Prometheus
00:14:16 Consultando métricas na interface do Prometheus
00:16:57 Visualização Graph e intervalo de atualização (Prometheus)
00:18:05 Verificando o scrape em Status - Targets (Prometheus)
00:18:44 Configurando o Prometheus como Data Source no Grafana
00:20:03 Conectando Grafana e Prometheus pela rede Docker
00:22:06 Criando um dashboard no Grafana
00:23:10 Selecionando métricas e executando queries
00:24:08 Consultas PromQL e cálculo de rate no Grafana
00:25:29 Ajustando visualizações e salvando o dashboard no Grafana
00:26:07 Criando uma segunda visualização no Grafana
00:27:28 Editando, duplicando e nomeando painéis no Grafana
00:28:16 Procurando dashboards Grafana para ASP.NET Core
00:29:34 Importando dashboards do Grafana Labs por ID
00:30:19 Avaliando a compatibilidade dos dashboards
Notas Importantes
links:
Prometheus
CNCF
CNCF / Prometheus
https://www.cncf.io/projects/prometheus/
Grafana
.Net Install Script
https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script
Tecnologias e Tags
.NET Core
Asp.net Core
C#
Docker
Grafana
Prometheus
.net
asp.net core
prometheus
grafana
docker
docker compose
observabilidade
métricas
métricas customizadas
endpoint /metrics
prometheus-net.aspnetcore
minimal api
c#
createcounter
createhistogram
counter
histogram
promql
rate
time series
grafana dashboard
grafana data source
prometheus scrape
status targets
monitoramento
microsserviços
sistemas distribuídos
dotnet watch
program.cs
api .net
grafana labs