Saber o que está acontecendo nos seus servidores e máquinas Windows em tempo real é essencial para manter a saúde do ambiente. Com o Prometheus e o Windows Exporter, você coleta métricas de CPU, memória, disco, rede e muito mais, visualizando tudo em dashboards profissionais no Grafana.
Neste artigo você vai configurar toda essa stack em minutos usando Docker.
Arquitetura da solução
O Windows Exporter roda diretamente no host Windows e expõe as métricas em /metrics. O Prometheus faz o scrape dessas métricas em intervalos configuráveis. O Grafana consulta o Prometheus e exibe os dados em dashboards.
Pré-requisitos
- Docker com Compose V2 instalado (
docker compose version) - Acesso de administrador na máquina Windows a monitorar
- Porta 9182 liberada no firewall do Windows
1. Clonar o repositório
git clone https://github.com/luiscruzcwb/prometheus-windows-exporter
cd prometheus-windows-exporter
2. Configurar o Prometheus
Navegue até a pasta prometheus e edite o arquivo prometheus.yml.
Atenção com a indentação: o YAML é sensível a espaços. Use sempre espaços, nunca tabs.
Adicione uma entrada para cada host Windows na seção de jobs:
scrape_configs:
- job_name: 'windows-server-01'
scrape_interval: 15s
static_configs:
- targets: ['IP-DO-HOST:9182']
labels:
hostname: 'windows-server-01'
- job_name: 'windows-server-02'
scrape_interval: 15s
static_configs:
- targets: ['IP-DO-HOST-2:9182']
labels:
hostname: 'windows-server-02'
Recomende criar uma entrada por host para facilitar a identificação nos dashboards.
3. Instalar o Windows Exporter no Host
Acesse a página de releases do Windows Exporter no GitHub e baixe a versão mais recente do arquivo .msi.
-
64 bits:
windows_exporter-X.X.X-amd64.msi -
32 bits:
windows_exporter-X.X.X-386.msi
Após o download, abra o terminal como Administrador e execute (ajuste o nome do arquivo para a versão baixada):
msiexec /i windows_exporter-0.29.2-amd64.msi
O instalador registra o Windows Exporter como serviço do Windows e o inicia automaticamente na porta 9182.
Para confirmar que está funcionando, abra o navegador e acesse:
http://localhost:9182/metrics
Se você ver uma saída com centenas de linhas de métricas, está tudo certo.
Firewall: caso não consiga acessar a porta de outro host, libere a porta 9182 no Windows Defender Firewall:
netsh advfirewall firewall add rule name="Windows Exporter" protocol=TCP dir=in localport=9182 action=allow
4. Subir o ambiente com Docker
Na raiz do repositório, execute:
docker compose up -d
Aguarde o download das imagens e verifique se os containers estão saudáveis:
docker compose ps
Acesse os serviços:
| Serviço | Endereço |
|---|---|
| Grafana | http://localhost:3000 |
| Prometheus | http://localhost:9090 |
5. Acessar o Grafana
Abra http://localhost:3000 no navegador.
Usuário: admin
Senha: grafana
Segurança: troque a senha imediatamente após o primeiro acesso em Profile → Change password. Nunca use as credenciais padrão em ambientes de produção ou expostos à rede.
No menu lateral, acesse Dashboards e abra o dashboard Windows Exporter for Prometheus. Você verá os dados do seu host sendo coletados em tempo real.
Principais métricas coletadas
| Métrica | Descrição |
|---|---|
windows_cpu_time_total |
Uso de CPU por estado (idle, user, privileged) |
windows_memory_available_bytes |
Memória RAM disponível |
windows_logical_disk_free_bytes |
Espaço livre em disco por volume |
windows_net_bytes_received_total |
Tráfego de rede recebido |
windows_net_bytes_sent_total |
Tráfego de rede enviado |
windows_os_info |
Informações do SO (versão, build) |
windows_service_state |
Estado dos serviços do Windows |
Troubleshooting
Prometheus não coleta métricas do host
- Verifique se a porta 9182 está acessível:
telnet IP-DO-HOST 9182 - Confirme se o serviço
windows_exporterestá rodando:Get-Service windows_exporterno PowerShell - Cheque o firewall conforme o passo 3
Grafana não exibe dados
- Acesse
http://localhost:9090/targetsno Prometheus e confirme que o target está com statusUP - Verifique se o IP no
prometheus.ymlestá correto e acessível a partir do container
Erro ao subir os containers
- Certifique-se de usar o Docker Compose V2:
docker compose version(sem hífen) - Verifique se as portas 3000 e 9090 não estão em uso:
netstat -tulnp | grep -E '3000|9090'
Para mais informações
- Documentação oficial do Prometheus
- Releases do Windows Exporter
- Grafana Provisioning
- Awesome Prometheus Alerts - Windows
Dúvidas ou sugestões? Deixa nos comentários! 🤘🏻

Top comments (0)