Prometheus: Blackbox Exporter
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 Managerincluso per inviare avvisi aSlack,Mattermost,PagerDuty, ecc.- Server email dedicato per inviare avvisi email illimitati.
Blackboxper sondareHTTP,ICMP,TCPe 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!
Introduzione a Prometheus Blackbox Exporter
Il Prometheus Blackbox Exporter è uno strumento potente che consente di sondare gli endpoint utilizzando vari protocolli, inclusi HTTP, HTTPS, DNS, TCP e ICMP. Questa flessibilità permette un monitoraggio completo di diversi aspetti della vostra infrastruttura e dei vostri servizi.
Ad esempio, quando si sondano gli endpoint HTTP e HTTPS, è possibile:
- Verificare la disponibilità del sito web controllando un codice di stato HTTP 2xx.
- Assicurarsi che venga restituito un contenuto specifico, come far corrispondere un titolo di pagina web al testo previsto.
- Validare i certificati TLS recuperando le loro date di scadenza, aiutandovi a prevenire problemi di rinnovo imprevisti.
- Misurare le prestazioni valutando i tempi di risoluzione DNS e la durata della stretta di mano TLS.
Utilizzando ICMP, è possibile confermare che i server rispondano alle richieste ping e misurare i loro tempi di risposta. Inoltre, il sondaggio DNS fornisce informazioni sui tempi di risposta, mentre il sondaggio TCP consente di connettersi a un servizio per verificare il contenuto e la versione di un banner del server SSH.
Immagine generale di Stackhero per Prometheus
Configurazione di Prometheus Blackbox Exporter
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.
Configurazione del core di Blackbox 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.
Configurazione del target di Prometheus Blackbox Exporter
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 sondaggi
Configurazione di Grafana per visualizzare i dati Prometheus dal Blackbox Exporter
Grafana rende facile creare dashboard che visualizzano le metriche di prestazione e disponibilità raccolte dal Blackbox Exporter. Con pochi clic, potete configurare dashboard dinamici che danno vita ai vostri dati Prometheus. Per ulteriori dettagli sull'integrazione di Grafana con Prometheus, potete esplorare la documentazione di Grafana.
Esempio di dashboard generato da Grafana, basato sui dati di Prometheus Blackbox Exporter