
Metriche ping con Prometheus e Grafana
Un semplice post, che credo possa contribuire in qualsiasi ambito, E non è altro che un 😊😂 ping, Vediamo che rido, ma fornisce informazioni interessanti in molte occasioni. In questo post vedremo come inviare ping a indirizzi IP interni/esterni di cui siamo interessati conoscendo la latenza, se ci sono tagli… e capirlo visivamente con Grafana.
Se fossimo interessati a sapere in tempo reale (a livello di 1 secondo, 5…) connettività a determinati indirizzi IP, per sapere minimamente quando abbiamo un problema di rete, se non raggiungiamo Internet, un servizio che abbiamo pubblicato, o indirizzi IP interni delle deleghe, Centro dati… Indirizzi IP che ci interesserà conoscere (io) se i pacchi cadono e (Ii) Il tuo tempo di risposta (per conoscere le latenze). In questo post vedremo come in modo molto semplice e veloce lo abbiamo assemblato.
Come ti ho detto, Quest'anno ho intenzione di sottolineare un po' questo tipo di argomenti che non abbiamo ancora toccato molto nel blog, soprattutto quelli che sono facili da implementare e applicare alla maggioranza 🙂 Quindi iniziamo! Supponendo che abbiamo già nel nostro ambiente schierarono un Prometheus e un Grafana, Possiamo iniziare.
Il modo più efficace sarà quello di distribuire un altro contenitore Docker, In questo caso useremo 'ping-exporter’ che in un batter d'occhio ci permetterà di eseguire il ping e visualizzare i suoi dati in una dashboard di Grafana, Creiamo la cartella e entriamo:
cd mkdir ping-exporter mkdir ping-exporter/config cd ping-exporter
Creiamo il file di configurazione docker compose per questo contenitore con 'nano docker-compose.yaml’
Versione: '3.9' services: ping_exporter: immagine: Czerwonk/ping_exporter container_name: ping_exporter volumi: - './config:/configurazione:ro' ports: - '9427:9427' restart: reti a meno che non siano state arrestate: ping_exporter_default: Reti: ping_exporter_default: autista: Ponte Ipam: configurazione: - Sottorete: XX.XX.XX.0/24 Gateway: XX.XX.XX.1
Dove creerai un contenitore chiamato ping_exporter, basato sull'immagine di ping_exporter, che monterà la cartella config ed esporrà le metriche dei ping sulla porta 9427tcp, mie particolarità che mi piace definire specifiche gamme di rete, altrimenti, Ho saltato gli ultimi 4 poema.
Il passo successivo, sarà quello di creare il file di configurazione per ping_exporter, Vi lascio con questo esempio:
Obiettivi: - 8.8.8.8 - 1.1.1.1 - 192.168.0.1 - 192.168.1.1 ping: intervallo: 5s timeout: 5s dimensione della storia: 42 dimensione del payload: 120 Opzioni: disabilitaIPv6: Vero
Come puoi vedere, All'interno della sezione 'Targets'’ possiamo aggiungere gli indirizzi IP che vogliamo pingare,. Oltre ai parametri predefiniti, comunque per fare i ping ogni 5 Secondi, Definire un timeout, Grandezza… Innanzitutto, Ho dimenticato, Vi lascio il Link ufficiale del progetto nel caso tu voglia avere maggiori informazioni.
Con questo ce l'abbiamo, Non resta che aprire il contenitore e metterlo in funzione, per questo:
sudo docker compose up -d
Una volta distribuito il container, saremo in grado di verificare che sarà già esposto le metriche dei PING, per questo, se ci colleghiamo da un browser con http all'indirizzo IP di Docker, al porto di ping_exporter (9427TCP per impostazione predefinita) e metti la fine dell'URL '/metrics'.
Ora quello che ci resta, sarà quello di istruire Prometheus a ingerire tali metriche, per questo, sarà semplice come modificare il file di configurazione di Prometheus (Per esempio: 'nano~/prometeo/prometeo/prometheus.yml’ e aggiungiamo un lavoro per connetterci all'IP e alla porta del ping_exporter:
... - job_name: ping-prometeo scrape_interval: 5scrape_timeout: 5static_configs: - Obiettivi: - DIRECCION_IP_DOCKER:PUERTO_PING_EXPORTER ...
Per impostazione predefinita, collegherà ogni 5 Secondi.
E non dimenticare di riavviare il contenitore Prometheus per ricaricare le impostazioni:
sudo Docker Restart Prometheus
E questo è tutto, Ce l'abbiamo già!! Cosa ci resta? Beh, guardalo in Grafana 😊. Per fare ciò,, supponendo che seguiamo i passaggi del documento precedente, abbiamo già distribuito Grafana e creato l'origine dati su Prometheus, Beh, è solo che dovremo importare una dashboard che ci piace e che la community ha realizzato, ad esempio consiglio questo ID: 19761. Così in casa Grafana, non sarà altro che colpire in Dashboards > Nuovo > Importazione > Incolla l'ID e la dashboard verrà importata, ti chiederà di nominare la Dashboard e scegliere il connettore Prometheus. Da lì sei pronto!
Da lì puoi personalizzare la dashboard a tuo piacimento, se lo consideri, o qualsiasi cosa tu abbia bisogno. Ma wow, vedrai che in un attimo avrai una dashboard dove sarà facile interpretare se un indirizzo IP ha avuto un problema durante un determinato periodo di tempo, così come se i pacchetti vengono scartati o vogliamo vedere i tempi di latenza, Tempi migliori, risultati medi o peggiori. Per assaggiare i colori che sono semplici ping.
In alcune occasioni, grazie a questo tipo di informazioni, siamo stati in grado di determinare quando una WAN stava andando male, o quando c'è un problema con l'elettronica di rete, e da uno switch cadono i pacchetti, in quanto potrebbe avere qualche problema/onere…
Come direbbe Kristian Pielholf in Bricomanía… facile, Semplice e adatto alle 🤣 famiglie, Spero come sempre che l'abbiate trovato interessante e con i consigli di questi e altri possiamo conoscere e padroneggiare le nostre infrastrutture.
Ti mando un abbraccio, Comportati bene 😉