Instalação Node Exporter no CentOS

Uma das formas de monitoramento são os Node Exporter, nos quais possuem diversas integrações nativamente oficiais e da comunidade.

Você pode visualizar todos os exporters do Prometheus:

https://prometheus.io/docs/instrumenting/exporters/

Neste artigo, vamos realizar a instalação do Node Exporter no sistema operacional Linux CentOS e configurar o prometheus server para realizar a coleta do mesmo.

1) Download Node Exporter:

wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar -xzvf prometheus*

 

2) Acessar o diretório extraído no passo anterior e criar o usuário e alterar permissões:

useradd --no-create-home --shell /bin/false node_exporter

chown node_exporter:node_exporter /usr/local/bin/node_exporter

 

3) Criar o arquivo do service, /etc/systemd/system/node_exporter.service:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

 

4) Recarregar e habilitar na inicialização:

systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter

Utilizando o navegador, IP do servidor onde está o Node Exporter, porta 9100 /metrics, podemos visualizar as métricas:

 

5) Vamos agora realizar agora a configuração do Prometheus Server para coletar as informações do Node, editando o arquivo prometheus.yml.

- job_name: 'node_exporter'
  scrape_interval: 5s
  static_configs:
    - targets: ['IP:9100']

6)  O arquivo final base, irá ficar dessa forma, após o mesmo reinicie o serviço do prometheus: 

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'node_exporter'
    scrape_interval: 5s
    static_configs:
      - targets: ['10.0.0.232:9100']

 

7) Vamos acessar o Prometheus para validar as coletas:

Pronto, monitoramento sendo realizado com sucesso! 😀

Deixe um comentário