Prometheus: Blackbox Exporter
Como usar o Prometheus Blackbox Exporter para sondar endpoints HTTP e ICMP (ping)
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece uma solução Prometheus cloud pronta a usar que proporciona uma série de benefícios, incluindo:
Alert Managerincluído para enviar alertas paraSlack,Mattermost,PagerDuty, etc.- Servidor de email dedicado para enviar alertas de email ilimitados.
Blackboxpara sondarHTTP,ICMP,TCP, e mais.- Configuração fácil com editor de ficheiros de configuração online.
- Atualizações sem esforço com apenas um clique.
- Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução de hospedagem cloud Prometheus da Stackhero!
Introdução ao Prometheus Blackbox Exporter
O Prometheus Blackbox Exporter é uma ferramenta poderosa que permite sondar endpoints usando vários protocolos, incluindo HTTP, HTTPS, DNS, TCP e ICMP. Esta flexibilidade permite uma monitorização abrangente de diferentes aspetos da sua infraestrutura e serviços.
Por exemplo, ao sondar endpoints HTTP e HTTPS, pode:
- Verificar a disponibilidade de um site web verificando um código de estado HTTP 2xx.
- Garantir que conteúdo específico é retornado, como fazer corresponder um título de página web ao texto esperado.
- Validar certificados TLS recuperando as suas datas de expiração, ajudando a prevenir problemas inesperados de renovação.
- Medir o desempenho avaliando os tempos de resolução DNS e a duração do handshake TLS.
Usando ICMP, pode confirmar que os servidores respondem a pedidos de ping e medir os seus tempos de resposta. Além disso, a sondagem DNS fornece informações sobre os tempos de resposta, enquanto a sondagem TCP permite conectar-se a um serviço para verificar o conteúdo e a versão de um banner de servidor SSH.
Imagem geral do Stackhero para Prometheus
Configuração do Prometheus Blackbox Exporter
Configurar o Blackbox Exporter envolve trabalhar com dois ficheiros principais: blackbox-exporter.yml para configurações principais e prometheus.yml para definir como o Prometheus recolhe dados do exporter.
Configuração do núcleo do Blackbox Exporter
A configuração principal, encontrada no ficheiro blackbox-exporter.yml, especifica quais protocolos suportar e como devem ser monitorizados.
No Stackhero para Prometheus, este ficheiro está pré-configurado para suportar tanto a monitorização ICMP como a monitorização HTTP/HTTPS (via pedidos GET e POST) desde o início. Se precisar de adaptar este ficheiro para cenários mais avançados, pode consultar exemplos de configuração no repositório Blackbox Exporter e consultar a documentação oficial para mais orientações.
Configuração do alvo do Prometheus Blackbox Exporter
A maior parte da sua configuração será feita no ficheiro prometheus.yml, onde instrui o Prometheus a recolher dados do Blackbox Exporter como qualquer outro exporter.
Por exemplo, considere a configuração abaixo que verifica as respostas ICMP (ping) de prometheus.io e grafana.com a cada 15 segundos (como definido pelo scrape_interval). Pode adicionar este bloco ao seu ficheiro prometheus.yml na seção scrape_configs e atualizar o array targets com os nomes de domínio ou endereços IP que deseja monitorizar:
- job_name: "blackbox-icmp"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "icmp" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "prometheus.io", "grafana.com" ]
Da mesma forma, a configuração abaixo monitoriza servidores HTTP. Nesta configuração, se o estado de resposta HTTP não estiver na faixa 2xx, o alvo é sinalizado como erróneo. Pode inserir este bloco no seu ficheiro prometheus.yml na seção scrape_configs e atualizar o array targets com os URLs que deseja monitorizar:
- job_name: "blackbox-http"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "http_2xx" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "https://prometheus.io/", "https://grafana.com/" ]
Uma vez configurados os seus trabalhos de scraping, pode rever os logs de depuração na interface Blackbox. O link para a interface está disponível no seu painel Stackhero, oferecendo informações valiosas sobre os resultados das sondagens.
Interface Blackbox mostrando os resultados das últimas sondagens
Configuração do Grafana para exibir dados do Prometheus do Blackbox Exporter
O Grafana facilita a criação de dashboards que visualizam as métricas de desempenho e disponibilidade recolhidas pelo Blackbox Exporter. Com apenas alguns cliques, pode configurar dashboards dinâmicos que dão vida aos seus dados do Prometheus. Para mais detalhes sobre a integração do Grafana com o Prometheus, pode explorar a documentação do Grafana.
Exemplo de um dashboard gerado pelo Grafana, baseado em dados do Prometheus Blackbox Exporter