
Monitoraggio di Raspberry Pi con Telegraf
Aspettavo da tempo che pubblicassi qualche post su Telegraf e qualche meraviglia che potessimo fare. In questo semplice documento vedremo come possiamo raccogliere le metriche delle prestazioni da un Raspberry Pi e visualizzarle in tempo reale con Grafana!
Supponendo di avere già Influxdb montato e funzionante su un server, così come Grafana (altrimenti, Assegno questo), Bene, è il momento di raccogliere le metriche, Iniziamo con qualcosa di semplice, una macchina Linux (basato su Debian), e cosa c'è di meglio di un Raspberry Pi, dove oltre ad ottenere le metriche comuni, otterremo anche quelli delle temperature della CPU e della GPU.
Avviato! Installeremo l'agente Telegraf sul Raspberry Pi per dirti le metriche che vogliamo inviare a Influxdb, La prima cosa, scarichiamo le chiavi repo di Influx:
ricciolo -sL https://repos.influxdata.com/influxdb.key | Sudo apt-key add -
E aggiungiamo il repository con (occhio, Selezioneremo la nostra versione corretta di Debian (Bullseye, Buster, stendere…) :
ECO "Deb https://repos.influxdata.com/debian stalla buster" | sudo tee /etc/apt/sources.list.d/influxdb.list
E ora è, Abbiamo installato Telegraf:
sudo wget -O - https://repos.influxdata.com/influxdb.key | Sudo apt-key add - Sudo apt-get update sudo apt install telegraf -y
Prossimo, dobbiamo toccare il file di configurazione di Telegraf (/ecc/telegraf/telegraf.conf), Quindi lo apriamo e lo modifichiamo, Cambieremo diverse cose, secondo le nostre esigenze. Iniziamo con l'intervallo’ e con 'flush_interval', Il primo indica la frequenza con cui controllerai, e il secondo ogni tanto lo invia al BD, se si desidera al livello di 1 il secondo sarebbe così, Non è necessario, forse così aggressivo, ma poi è molto impressionante a Grafana, Guarda come aggiorna il secondo…:
... [agente] intervallo = "1s" flush_interval = "1s" ...
Nella sezione Input, Smetteremo di commentare le metriche che vogliamo ricevere, esempio:
... # Plugin di input [[inputs.cpu]] Percpu = Vero TotalCPU = Vero collect_cpu_time = Falso report_active = Falso [[inputs.disk]] ignore_fs = ["Anche", "Per favore.", "Devfs"] [[inputs.io]] [[inputs.mem]] [[inputs.net]] [[inputs.system]] [[inputs.swap]] [[inputs.netstat]] [[inputs.processes]] [[inputs.kernel]] ...
E infine, nelle uscite, all'uscita, Dove inviamo le metriche, decommentiamo e configuriamo correttamente la sezione Influxdb:
... [[uscite.influxdb]] URL = ["Protocollo HTTP://DIRECCION_IP:8086"] # database richiesto = "NOMEBD" nome utente = "utente" parola d'ordine = "XXXXXXXX" skip_database_creation = vero ...
Dopo aver salvato il file, Possiamo verificare se la configurazione è corretta con:
Telegraf --Test
Abbiamo riavviato i servizi Telegraf in modo che carichi la configurazione appena modificata, vediamo che è partito e istruiamo Telegraf a partire con il sistema:
Sudo SystemCTL Start Telegraf sudo SystemCTL Status Telegraf sudo SystemCTL Enable Telegraf
Se oltre a queste metriche standard vogliamo aggiungere anche metriche che ci danno la temperatura della CPU e/o la temperatura della GPU del Raspberry Pi, Continuiamo con, aggiunta dell'utente Telegraf al gruppo video in modo che possa leggere tali dati:
sudo usermod -G telegraf video
Quindi possiamo creare un file di configurazione per questo scopo, Ad esempio lo chiamiamo '/etc/telegraf/telegraf-raspberrypitemp.conf’ e con i seguenti contenuti:
[[inputs.file]] file = ["/sys/class/termico/thermal_zone0/temp"] name_override = "cpu_temperature" data_format = "valore" data_type = "Numero intero" [[inputs.exec]] comandi = ["/opt/vc/bin/vcgencmd measure_temp"] name_override = "gpu_temperature" data_format = "Grok" grok_patterns = ["%{NUMERO:valore:galleggiare}"]
Ricarichiamo Telegraf per leggere questa nuova configurazione e l'avremmo pronta:
sudo systemctl restart telegraf
Con questo, i dati sarebbero già memorizzati in Influxdb, ora per vederlo da Grafana perché il solito, se non abbiamo l'origine dati contro Influxdb la creiamo, e la prossima e più comoda cosa sarà quella di scaricare una Dashboard che ci piace e che ha reso la community 🙂 che ho provato con questa Dashboard, che, come puoi vedere, è semplice come quando crei una nuova Dashboard nel nostro Grafana, importa il tuo ID, in questo caso il '10578', Ma dai, ci sono molte altre dashboard o lo modificherai in un batter d'occhio. A proposito, questa Dashboard è di Jorge de la Cruz, Quindi grazie per il tuo poco tempo!!
E sono sicuro che in un attimo avrai qualcosa di così bello come questo! O wow, Molto meglio!!! Ora possiamo visualizzare in tempo reale le prestazioni del nostro Raspberry Pi, vediamo le diverse CPU, Memorie, Utilizzo del disco, Traffico di rete, carico, Temperature…
Bene, Vi saluto come sempre ringraziando tutti voi che leggete questi badge, a chi vuole imparare, con cui condividi contenuti informativi sui social network!
Abbracci!