Como coletar métricas do Windows utilizando o Metricbeat
Tags: metricbeat, windows, elasticsearch
Published: 2020-12-23 12:10:44

Nesse tutorial vamos construir uma monitoração básica do Windows utilizando o [módulo Windows](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-windows.html) do Metricbeat, que é um agente da Elastic que coleta métricas de diversas plataformas, como já mostramos aqui no blog em outros posts.

Esse módulo que utilizaremos coleta o status dos serviços e também dados de performance em hosts Windows. 

Caso você queira monitorar os logs e dados do Event Viewer por exemplo, recomendo fortemente o uso do Winlogbeat, que coleta logs de eventos do Windows perfeitamente.

Aqui no blog nós já fizemos um post mostrando como instalar e configurar o [Winlogbeat](https://www.elastic.co/guide/en/beats/winlogbeat/current/_winlogbeat_overview.html) e você pode acessar ele [aqui](https://medium.com/sysadminas/winlogbeat-instala%C3%A7%C3%A3o-e-configura%C3%A7%C3%A3o-42d851f4d773).

## Como instalar o Metricbeat e configurar o módulo Windows
Para começar esse lab, você precisará ter um ambiente com um host Windows e outro ambiente com o Elasticsearch e com o Kibana configurados.

Assim que você tiver esses pré requisitos, poderá começar a seguir os passos abaixo para configurar o Metricbeat para coletar as métricas do Windows.

Para instalar o Metricbeat nos hosts, siga os passos descritos abaixo.

* Faça o download do Metricbeat nesse [link](https://www.elastic.co/pt/downloads/beats/metricbeat).

* Instale o Metricbeat:
**Windows:** `PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-metricbeat.ps1`
**Linux:** `sudo rpm -vi metricbeat-7.10.1-x86_64.rpm`

* Acesse o arquivo de configuração do Metricbeat:
**Windows:** `C:\Program Files\Metricbeat\metricbeat.yml`
**Linux:** `/etc/metricbeat/metricbeat.yml`

* Insira nele as informações de conexão com o Elasticsearch e com o Kibana:

```
output.elasticsearch:
  hosts: ["url_do_elasticsearch:9200"]
setup.kibana:
  host: ["url_do_kibana:5601"]
```

* Habilite e configure o módulo do Windows:
**Windows:** `.\metricbeat.exe modules enable windows`
**Linux:** `sudo metricbeat modules enable windows`

* Para modificar as configurações do módulo, altere o arquivo windows.yml:
**Windows:** `modules.d/windows.yml`
**Linux:** `/etc/metricbeat/modules.d/windows.yml`

Por padrão, o arquivo vem com as seguintes informações:

```
metricbeat.modules:
- module: windows
  metricsets: ["perfmon"]
  enabled: true
  period: 10s
  perfmon.ignore_non_existent_counters: false
  perfmon.group_measurements_by_instance: false
  perfmon.queries:
#  - object: 'Process'
#    instance: ["*"]
#    counters:
#    - name: '% Processor Time'
#      field: cpu_usage
#      format: "float"
#    - name: "Thread Count"

- module: windows
  metricsets: ["service"]
  enabled: true
  period: 60s
```

* Crie o índice do Metricbeat e carregue os dashboards:
**Windows:** `.\metricbeat.exe setup`
**Linux:** `sudo metricbeat setup`

* Inicie o serviço do Metricbeat:
**Windows:** `Start-Service metricbeat`
**Linux:** `sudo service metricbeat start`

Depois disso, você conseguirá ver os logs do seu ambiente no discover, além de ter dashboards com informações e métricas do estado do seu host Windows.

**Métricas**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/hgmr5xym9s5e3gez7li4.png)

**Logs**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/mmf3bbq0br3dja2ni57e.png)

Para saber mais sobre esse módulo do Metricbeat, acesse a [documentação](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-windows.html) oficial da Elastic.