Prometheus: Configurazione di Prometheus Blackbox Exporter

Questa documentazione fa parte della guida Blackbox Exporter. Consulta la guida completa qui: Come utilizzare Prometheus Blackbox Exporter per sondare gli endpoint HTTP e ICMP (ping).

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Prometheus cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Alert Manager incluso per inviare avvisi a Slack, Mattermost, PagerDuty, ecc.
  • Server email dedicato per inviare avvisi email illimitati.
  • Blackbox per sondare HTTP, ICMP, TCP e altro ancora.
  • Configurazione facile con editor di file di configurazione online.
  • Aggiornamenti senza sforzo con un solo clic.
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: bastano solo 5 minuti per provare la soluzione di Prometheus cloud hosting di Stackhero!

La configurazione del Blackbox Exporter implica il lavoro con due file chiave: blackbox-exporter.yml per le impostazioni di base e prometheus.yml per definire come Prometheus estrae i dati dall'exporter.

La configurazione di base, trovata nel file blackbox-exporter.yml, specifica quali protocolli supportare e come devono essere monitorati.

Su Stackhero per Prometheus, questo file è preconfigurato per supportare sia il monitoraggio ICMP che il monitoraggio HTTP/HTTPS (tramite richieste GET e POST) fin dall'inizio. Se avete bisogno di adattare questo file per scenari più avanzati, potete consultare esempi di configurazione nel repository Blackbox Exporter e consultare la documentazione ufficiale per ulteriori indicazioni.

La maggior parte della vostra configurazione avverrà nel file prometheus.yml, dove istruite Prometheus a estrarre dati dal Blackbox Exporter come qualsiasi altro exporter.

Ad esempio, considerate la configurazione seguente che verifica le risposte ICMP (ping) da prometheus.io e grafana.com ogni 15 secondi (come definito dal scrape_interval). Potete aggiungere questo blocco al vostro file prometheus.yml nella sezione scrape_configs e aggiornare l'array targets con i nomi di dominio o indirizzi IP che desiderate monitorare:

  - 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" ]

Allo stesso modo, la configurazione seguente monitora i server HTTP. In questa configurazione, se lo stato di risposta HTTP non è nella gamma 2xx, il target viene segnalato come errato. Potete inserire questo blocco nel vostro file prometheus.yml sotto la sezione scrape_configs e aggiornare l'array targets con gli URL che desiderate monitorare:

  - 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/" ]

Una volta configurati i vostri lavori di scraping, potete esaminare i log di debug nell'interfaccia Blackbox. Il link all'interfaccia è disponibile sulla vostra dashboard Stackhero, offrendo preziose informazioni sui risultati dei sondaggi.

Interfaccia Blackbox che mostra i risultati degli ultimi sondaggiInterfaccia Blackbox che mostra i risultati degli ultimi sondaggi