Efficiënt Kamertemperaturen Monitoren Met Raspberry Pi En Nagios
De afgelopen paar maanden ben ik bezig geweest met het implementeren en uitbouwen van een monitoring-oplossing voor onze development- en productiesystemen. Aangezien Nagios de meest geliefde / gehaatte monitoring-oplossing is, voelde ik me verplicht te leren hoe het werkt. Na vechten met gebruikersrechten, firewall-regels, gebroken dependencies en eigenlijk elk ander probleem dat het mijn kant op kon werpen, heb ik eindelijk een werkend Nagios-systeem. Aangezien ik van bootstrap hou en configuratie zo pijnloos mogelijk wil maken, nam ik de tijd om Adagios erop te installeren om op Nagios te zitten. Ik raad het ten zeerste aan omdat het omgaan met Nagios een veel prettigere ervaring maakt en een hel van een betere uitstraling heeft.
Nu het leuke: naarmate de trend voortduurt, hou ik van Raspberry Pi's waar ik kan. Ze zijn klein, trekken weinig stroom, en hebben genoeg inputs voor het aanbrengen van sensoren. Onlangs scrollde ik door r/sysadmin toen ik de volgende post tegenkwam: "Vorige maand hebben de schoonmaakvrouwen mijn geliefde servers beschadigd." Het deed me denken… nu ik schijfruimte, geheugengebruik, CPU-load monitor, misschien moet ik beginnen met het monitoren van serverruimte temperaturen.
Benodigde Tools
- Raspberry Pi
- 4.7k ohm weerstand
- DS18B20
Bedrading
Ik testte mijn opstelling eerst met een breadboard en jumperkabels voordat ik iets soldeerde. Als dat geen optie is voor je, ga dan gewoon de 4.7k ohm weerstand solderen tussen de 3.3V (rode draad) en datalijn (gele draad).
Hieronder is een diagram van hoe alles bedraad moet worden, afkomstig van de Adafruit tutorial.
NRPE Opzetten
Voor Nagios om de temperatuur te monitoren, heeft het een NRPE-agent nodig geïnstalleerd op de Raspberry Pi. Hier is een snelle gids om NRPE geïnstalleerd te krijgen.
- Download en pak NRPE-2.x uit van de volgende site:
https://sourceforge.net/projects/nagios/files/nrpe-2.x/
- Pak de inhoud uit:
tar -zxvf nrpe-2.15.tar.gz
- Wijzig in de uitgepakte directory:
cd nrpe-2.15/
- Je moet een symbolische link aanmaken zodat nrpe de ARM SSL-bibliotheek kan vinden:
sudo rm /usr/lib/libssl.so
sudo ln -s /usr/lib/arm-linux-gnueabihf/libssl.so /usr/lib/libssl.so
- Voer het configuratieproces uit, als je dependencies mist zal het je laten weten (ga ze oplossen):
./configure
- Voordat je installeert, ga een nagios-gebruiker en -groep aanmaken. Je hebt dit nodig voor het installatieproces. Zorg ervoor dat je het als root bouwt en installeert:
sudo useradd nagios
sudo make all
sudo make install
sudo make install-plugin
sudo make install-daemon
- Kopieer het voorbeeldconfiguratiebestand naar de NRPE-installatiedirectory:
sudo mkdir /usr/local/nagios/etc
sudo cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg
sudo chown -R nagios:nagios /usr/local/nagios/etc/
- Kopieer het debian init.d-script en ge het uitvoerbare rechten:
sudo cp init-script.debian /etc/init.d/nrpe
sudo chmod 700 /etc/init.d/nrpe
- Bewerk het nrpe.cfg-configuratiebestand en zorg ervoor dat je je Nagios-server toevoegt aan allowed_hosts. Laten we ook onze check_temp-command toevoegen:
sudo vim /usr/local/nagios/etc/nrpe.cfg
> allowed_hosts=127.0.0.1,JOUW_NAGIOS_SERVER_IP_HIER
> command[check_temp]=/usr/local/nagios/libexec/check_temp.sh -w 30 -c 40
Zorg dat toegang via poort 5666 toegestaan is: nrpe 5666/tcp #nrpe
- Start de NRPE-service:
sudo service nrpe start
- Laten we bevestigen dat het draait:
ps aux | grep nrpe
Het bovenstaande commando zou iets in de trant moeten outputten van:
[email protected]:/tmp/nrpe-2.15# ps aux | grep nrpe nagios 8869 0.0 0.2 4084 980 ? Ss 21:43 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
- Tot slot laten we ervoor zorgen dat NRPE bij herstart start:
sudo update-rc.d nrpe defaults
Je bent nu klaar met het installeren van de NRPE-agent op je Raspberry Pi, dus het is tijd om het check_temp-script te installeren.
Code
Sla het volgende script op als check_temp.sh binnen /usr/local/nagios/libexec/
Zorg dat het uitvoerbare rechten heeft: chmod +x /usr/local/nagios/libexec/check_temp.sh
Voor meer detail: Monitoring Room Temperatures with a Raspberry Pi and Nagios
Productieproces
- Meerdere DS18B20 1-Wire Sensoren Aan Een Raspberry Pi Koppelen Voor Nauwkeurige Temperatuurmonitoring
- Hoe Temperatuur Te Lezen Met Een DS18B20 Op Raspberry Pi 2
- Thuis Temperatuur & Vochtigheid Monitor Met Raspberry Pi & Web Dashboard – Real-Time Remote Tracking
- Professionele temperatuurbewaking met Raspberry Pi en DS18B20
- Temperatuurmeting op Raspberry Pi met Maxim 1-Wire sensoren en DS2482 I2C-brug
- Home Energy Centre: Zonnepanelen, thermische panelen en kamertemperaturen monitoren met Raspberry Pi en Moteino
- Accurate temperatuurbewaking in een serverkast met Raspberry Pi
- Externe weerbewaking met Raspberry Pi 3 en PubNub
- Raspberry Pi-gebaseerde kamertemperatuurbewaking met Gnuplot-grafieken en e-mailalerts
- Een 433 MHz Slimme Huiscounter Bouwen met Sensorflare en Raspberry Pi
- Een Snel, Betrouwbare Brandsdetectiesysteem Bouwen met Samsung SAMIIO, Arduino UNO & Raspberry Pi