O
Blackbox Exporter é um componente do ecossistema
Prometheus, um sistema de monitoramento e alerta de código aberto amplamente utilizado. O Blackbox Exporter é um servidor independente que permite realizar verificações de sondagem (probing) em serviços externos para coletar métricas relacionadas à disponibilidade e desempenho desses serviços.
Em termos simples, o Blackbox Exporter permite ao Prometheus "enxergar" o estado de serviços externos, mesmo que não sejam diretamente instrumentados com a biblioteca do Prometheus. Ele atua como uma "caixa-preta" (blackbox), onde é possível enviar solicitações de sondagem (probes) para serviços externos e obter informações sobre sua integridade e tempo de resposta.
Essas métricas coletadas podem ser usadas para criar gráficos, alertas e painéis de monitoramento, permitindo que os administradores de sistemas acompanhem a disponibilidade e o desempenho dos serviços externos que são importantes para o funcionamento de uma aplicação ou infraestrutura.
Configuração
Neste artigo, não abordaremos a instalação do Prometheus. Partiremos do princípio de que você já possui o Prometheus instalado e funcionando corretamente.
Iremos realizar o download do exporter "Blackbox". Para isso acesse a URL abaixo:
Após realizar o download do arquivo, iremos descompactá-lo:
tar -xvf blackbox_exporter-0.24.0.linux-amd64.tar.gz
Iremos acessar o diretório:
cd blackbox_exporter-0.24.0.linux-amd64
Por padrão o blackbox exporter já traz um arquivo de configuração como exemplo, então você irá encontrá-lo neste diretório com o nome "blackbox.yml". Porém neste artigo não iremos utilizá-la, portando poderemos movê-lo para um outro nome:
mv blackbox.yml blackbox.yml_default
Então iremos criar um novo arquivo blackbox.yml com a nossa configuração, que especificamente utilizará apenas a probe de ICMP.
vim blackbox.yml
modules:
icmp:
prober: icmp
timeout: 5s
icmp:
preferred_ip_protocol: "ip4"
Após incluir as linhas acima, salve seu arquivo de configuração do blackbox. Na sequência iremos iniciar o serviço do blackbox_exporter. Para isso siga o passo abaixo:
./blackbox_exporter --config.file=blackbox.yml
Caso queira colocá-lo em execução em segundo plano, utilize o comando abaixo:
nohup ./blackbox_exporter --config.file=blackbox.yml &
Por padrão, quando o exportador é executado, ele passa a escutar na porta 9115.
Agora criaremos um JOB no prometheus para que ele passe todas as máquinas que eu desejo monitorar para o blackbox exporter e ele faça todas as coletas de métricas. Adicione o seguinte bloco ao prometheus.yml.
- job_name: 'ICMP_VIVAOLINUX'
metrics_path: /probe
params:
module: [icmp]
static_configs:
- targets: ["host1","host2","host3"] #Alterar para os hosts desejados
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: "127.0.0.1:9115" # Alterar para onde o blackbox está em execução
Perceba que na configuração acima, será necessário realizar as alterações mencionadas nos comentários. É importante que o nome do JOB sempre comece com "ICMP_", pois quando formos exibir os dados no Grafana ele será importante.