Monitoramento Eficiente do Windows com Prometheus e Windows Exporter
Tags: devops, docker, tutorial, productivity
Published: 2023-07-11 01:25:41

O monitoramento de sistemas Windows com o Prometheus permite coletar métricas e dados do sistema operacional de forma eficiente e rápida. Com o Prometheus, é possível acompanhar o desempenho, identificar problemas e tomar medidas proativas para garantir a estabilidade e a segurança dos servidores Windows.

O monitoramento contínuo proporciona uma visão detalhada do ambiente, permitindo uma rápida detecção e solução de problemas, além de otimizar o desempenho geral do sistema.

No artigo, são explicados os passos para instalar o Prometheus e configurar o Windows Exporter para a coleta de métricas.

#### Clone o repositório: 

```shell-session
git clone https://github.com/luiscruzcwb/prometheus-windows-exporter
```
#### Navegue até a pasta _**prometheus-windows-exporter**_

```shell-session
cd /prometheus-windows-exporter
```

## Configurando o Host 

Navegue até a pasta _**prometheus**_ e edite o arquivo _**prometheus.yml**_.

> O arquivo `prometheus.yml` é o arquivo de configuração principal do Prometheus, sendo usado para definir as configurações relacionadas ao comportamento do Prometheus, como os alvos de coleta de dados, regras de gravação e alertas. 

> Tome muito cuidado com a indentação (ou endentação) do arquivo _**prometheus.yml**_.

Inclua na sessão ***## Hosts OS Windows / Windows Servers*** os seus Hosts de coleta, como exemplo abaixo: 

      - job_name: 'hostname'
        scrape_interval: 10s
        static_configs:
          - targets: ['IP-Host:9182']
          
Recomendo criar uma entrada para cada Host, caso contrario, basta separa os hosts dessa forma: ['IP-Host1:9182'],['IP-Host2:9182']

## Host - Downloading Windows Exporter

Para baixar o Prometheus Windows Exporter, acesse a página do [GitHub](https://github.com/prometheus-community/windows_exporter) da comunidade.

Faça o download da versão mais recente (v0.22.0) do Windows Exporter na seção "Releases".

Se estiver usando uma **versão de 32 bits** do sistema operacional Windows, clique no link **_windows_exporter-*-386.msi._**

Se estiver usando uma **versão de 64 bits** do sistema operacional Windows, clique no link **_windows_exporter-*-amd64.msi._**

## Host - Instalando Windows Exporter

O Prometheus Windows Exporter possui vários coletores, cada um responsável por exportar informações específicas. Alguns coletores estarão desativados por padrão, para obter uma lista dos coletores compatíveis, ativos e desativados, visite a seção "Collectors" na página do [GitHub](https://github.com/prometheus-community/windows_exporter). 

Após o download, em seu Windows OS, navegue via terminal como administrador até a pasta que se encontra o arquivo, e execute o seguinte comando:

```shell-session
msiexec /i ./windows_exporter-0.22.0-amd64.msi
```

O Windows Exporter estará em execução na porta 9182 do seu computador com Windows, para verificar abra o navegador e acesse o endereço: http://localhost:9182/metrics. 

Se você visualizar a saída abaixo, significa que o Windows Exporter está em funcionamento.

![windows_exporter](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fe38rp9464cmi1mvm5zw.png)


## Subindo o ambiente e Visualizando os dados no Grafana

#### Execute o arquivo **_docker-compose_**.

```shell-session
docker-compose up -d
```

Em seu navegador, acesse o endereço: http://localhost:3000/.

    Usuário: Admin
    Senha: grafana 
    

> Esses dados de acesso podem ser alterados nas configurações do Grafana, alterando o arquivo **config.monitoring** em **/grafana/config.monitoring**

No menu Dashboard, acessando o gráfico ***Windows exporter for Prometheus***, os seus dados já estarão sendo apresentados. 


![grafana_dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4st2bjk9un7peji4dd0o.png)

## Para mais informações acesse:
- https://grafana.com/docs/grafana/latest/administration/provisioning/
- https://samber.github.io/awesome-prometheus-alerts/rules#windows-server
- https://docker-curriculum.com/
- https://prometheus.io/docs/introduction/overview/
- https://github.com/dnanexus/docker-promtool/tree/master

#### See you later 🤘🏻