
Surveillance du Raspberry Pi avec Telegraf
J’attendais depuis longtemps de publier quelques articles sur Telegraf et quelques merveilles que nous pouvons faire. Dans ce document simple, nous allons voir comment nous pouvons collecter des mesures de performance à partir d’un Raspberry Pi et les afficher en temps réel avec Grafana!
En supposant que nous ayons déjà Influxdb monté et fonctionnel sur un serveur, ainsi que Grafana (autrement, Vérifier ceci), Eh bien, il est temps de collecter des métriques, Nous commençons par quelque chose de simple, une machine Linux (basé sur Debian), et quoi de mieux qu’un Raspberry Pi, où, en plus d’obtenir les mesures communes,, nous obtiendrons également celles des températures du CPU et du GPU.
Commencé! Nous allons installer l’agent Telegraf sur le Raspberry Pi pour vous indiquer les métriques que nous voulons envoyer à l’Influxdb, La première chose, nous téléchargeons les clés du dépôt Influx:
curl -sL https://repos.influxdata.com/influxdb.key | Sudo apt-key add -
Et nous ajoutons le dépôt avec (oeil, Nous sélectionnerons notre version correcte de Debian (Bulle, Buster, étirer…) :
ÉCHO "Deb https://repos.influxdata.com/debian Buster Stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Et maintenant, c’est le cas, Nous avons installé Telegraf:
sudo wget -O - https://repos.influxdata.com/influxdb.key | Sudo apt-key add - Sudo apt-get update sudo apt install telegraf -y
Prochain, nous devons appuyer sur le fichier de configuration Telegraf (/etc/telegraf/telegraf.conf), Nous l’ouvrons donc et le modifions, Nous allons changer plusieurs choses, selon nos besoins. Nous commençons par 'interval’ et avec 'flush_interval', La première indique la fréquence à laquelle vous vérifierez, et le deuxième, de temps en temps, il l’envoie au BD, si vous voulez au niveau de 1 le deuxième serait comme ceci, Il n’est peut-être pas nécessaire d’être si agressif, mais c’est très impressionnant à Grafana, Voyez comment il rafraîchit le second…:
... [agent] intervalle = "1s" flush_interval = "1s" ...
Dans la section Entrées, Nous supprimerons les commentaires sur les indicateurs que nous souhaitons recevoir, exemple:
... # Plugins d’entrée [[entrées.cpu]] Percpu = True TotalCPU = True collect_cpu_time = False report_active = False [[entrées.disque]] ignore_fs = ["Aussi", "S’il vous plaît.", "Devfs"] [[inputs.io]] [[entrées.mem]] [[inputs.net]] [[entrées.système]] [[entrées.swap]] [[entrées.netstat]] [[entrées.processus]] [[entrées.kernel]] ...
Et enfin, dans les sorties, à la sortie, Où envoyons-nous les indicateurs ?, nous décommentons et configurons correctement la section Influxdb:
... [[sorties.influxdb]] URL = ["HTTP://DIRECCION_IP:8086"] # Base de données requise = "NAMEBD" nom d’utilisateur = "utilisateur" mot de passe = "XXXXXXXX" skip_database_creation = vrai ...
Après avoir enregistré le fichier, Nous pouvons tester si la configuration est correcte avec:
Télégraf --Test
Nous avons redémarré les services Telegraf afin qu’il charge la configuration nouvellement modifiée, nous voyons qu’il a démarré et nous donnons instruction à Telegraf de commencer avec le système:
Sudo SystemCTL Start Telegraf sudo SystemCTL Status Telegraf sudo SystemCTL Enable Telegraf
Si, en plus de ces métriques standard, nous souhaitons également ajouter des métriques qui nous donnent la température du CPU et/ou la température du GPU du Raspberry Pi, Nous poursuivons avec, l’ajout de l’utilisateur Telegraf au groupe vidéo afin qu’il puisse lire ces données:
sudo usermod -G telegraf vidéo
Ensuite, nous pouvons créer un fichier de configuration à cet effet, Par exemple, nous l’appelons '/etc/telegraf/telegraf-raspberrypitemp.conf’ et avec le contenu suivant:
[[entrées.fichier]] fichiers = ["/sys/class/thermal/thermal_zone0/temp"] name_override = "cpu_temperature" data_format = "valeur" data_type = "Entier" [[entrées.exec]] commandes = ["/opt/vc/bin/vcgencmd measure_temp"] name_override = "gpu_temperature" data_format = "Grok" grok_patterns = ["%{NOMBRE:valeur:flotter}"]
On recharge Telegraf pour lire cette nouvelle configuration et on l’aurait prêt:
sudo systemctl restart telegraf
Avec cela, les données seraient déjà stockées dans Influxdb, maintenant pour le voir de Grafana parce que l’habituel, si nous n’avons pas la source de données contre Influxdb, nous la créons, et la prochaine chose la plus confortable sera de télécharger un tableau de bord que nous aimons et qui a fait la communauté 🙂 que j’ai essayée avec ce tableau de bord, ce qui, comme vous pouvez le voir, est aussi simple que lors de la création d’un nouveau tableau de bord dans notre Grafana, importer votre pièce d’identité, Dans ce cas, le '10578', Mais allez, il y a plein d’autres tableaux de bord ou vous allez le modifier en un tour de main. D’ailleurs, ce tableau de bord est de Jorge de la Cruz, Alors merci pour votre peu de temps!!
Et je suis sûr que dans un instant, vous aurez quelque chose d’aussi cool que celui-ci! Ou wow, Beaucoup mieux!!! Nous pouvons désormais visualiser en temps réel les performances de notre Raspberry Pi, on voit les différents CPU, Mémoires, Utilisation du disque, Trafic réseau, charger, Températures…
Puits, Je dis au revoir, comme toujours, en remerciant tous ceux d’entre vous qui lisent ces badges, à ceux qui veulent apprendre, à qui vous partagez du contenu informatif sur les réseaux sociaux!
Câlins!