Nadat we Raspbian en Domoticz helemaal juist hebben geconfigureerd willen we er natuurlijk zeker van zijn dat de software 24/7 blijft draaien. Aangezien we aan de Raspberry geen monitor hebben aangesloten gaan we het programma Monit voor Raspberry Pi installeren en configureren. Monit monitort automatisch server programma’s en herstart ze indien nodig. Daarnaast kun je instellen dat je bepaalde meldingen via een email wilt ontvangen en de processen kun je bekijken/instellen va een web interface.
Het installeren van Monit gaat via onderstaande commando:
1 |
sudo apt-get install monit |
Wanneer Monit geïnstalleerd is kun je programma’s en processen toevoegen die gecontroleerd moeten worden. Deze programma’s en processen voeg je toe aan het Monit configuratie bestand. Monit is redelijk simpel te configureren. Standaard is Monit zo ingesteld, dat je elke 2 minuten de services controleert en wegschrijft in het log bestand “/var/log/monit.log”.
We gaan het configuratie-bestand van Monit aanpassen met het commando:
1 |
sudo nano /etc/monit/monitrc |
Pas de volgende parameters aan:
1 2 3 |
set daemon 300 -> Controleer services elke 300 seconden (5 minuten) with start delay 300 -> Start controleren van de services na 300 seconden (dit gaat zgn. bootloops tegen, als Domoticz nog niet gestart is, waardoor het tijd krijg om volledig te starten.) set logfile /var/log/monit.log -> Het is aan te raden om de locatie te wijzigen naar een gemounte pen drive of HDD. Of sla het op in een RAM-drive (dit i.v.m. behoud van de SD Kaart). |
Emailnotificatie’s
Je kunt Monit instellen om je per e-mail te informeren. Het is aan te raden om dit te doen, zodat je een goed overzicht behoud van de status van je systeem.
Gmail configuratie
1 2 3 4 5 6 |
set mailserver smtp.gmail.com port 587 username "yourmailaddress@gmail.com" password "MYPASSWORD" using tlsv1 with timeout 30 seconds set alert email@gmail.com If you use Gmail with 2-step verification, you first have to create an App password |
Outlook.com configuratie
1 2 3 4 5 |
set mailserver smtp-mail.outlook.com port 587 username yourmailaddress@outlook.com password MYPASSWORD using ssl set alert youremailaddess@outlook.com set mail-format { from: yourmailaddress@outlook.com } |
POP3 configuratie
1 2 3 4 |
set mailserver smtp.yourprovider.com port 25 with timeout 30 seconds set mail-format { from: email@provider.com } set alert email@provider.com |
Om te testen of Monit de email kan versturen geef je commando sudo monit reload
in, je zou dan een mail moeten ontvangen.
Webserver
Monit komt standaard met een eigen ingebouwde webserver, welke op poort 2812 draait. Om de webinterface te configureren, gaan we op zoek naar het deel dat begint met set httpd port 2812. Wanneer je bij dit onderdeel het commentaar weghaald, het juiste IP adres invult en een gebruiker met wachtwoord toevoegd, dan kan Monit al in gebruik genomen worden. Als je in het wachtwoord leestekens gebruikt kan dit problemen geven.
1 2 3 4 5 6 |
set httpd port 2812 use address 0.0.0.0 # only accept connection from localhost (comment to connect from other hosts) allow 0.0.0.0/0.0.0.0 # allow anybody to connect to the server and allow admin:monit # require user 'admin' with password 'monit', change if your system is accessible from internet allow 192.168.0.1/255.255.255.0 #This will only allow hosts coming from the local network (change x.x.x.1 to your own LAN IP-range). allow localhost #use in combination with local network to allow command line to work |
Zodra bovenstaande goed geconfigureerd is, moeten we Monit herstarten:
1 |
sudo service monit reload |
Als alles goed is gegaan, kan je naar de Monit web interface, door te gaan naar (vervang IP adres door het IP adres van de Raspberry Pi). Geef vervolgens de geconfigureerde gebruikersnaam en wachtwoord in.
1 |
http://192.168.x.x:2812 |
Je scherm zal er nu ongeveer zo uitzien:
Monitoren van Domoticz
Zodra de web services gereed zijn kunnen we Domoticz gaan toevoegen aan de configuratie, zodat de status van Domoticz in de monitoring meeloopt. Hiervoor moeten we het configuratiebestand weer aanpassen:
sudo nano /etc/monit/monitrc
Om bijvoorbeeld te zorgen dat Domoticz blijft werken, kun je gebruik maken van /etc/init.d commando’s om Domoticz te stoppen en/of starten. Onderstaande is een voorbeeld configuratie, dat je aan /etc/monit/monitrc kunt toevoegen. Doe dit voor de ## Includes.
1 2 3 4 5 6 7 8 9 10 11 |
## Domoticz check process domoticz with pidfile /var/run/domoticz.pid start program = "/etc/init.d/domoticz.sh start" stop program = "/etc/init.d/domoticz.sh stop" if failed url http://127.0.0.1:8080/json.htm?type=command¶m=getversion and content = '"status" : "OK"' for 2 cycles then restart if 5 restarts within 5 cycles then exec "/sbin/reboot" if cpu usage > 70% for 3 cycles then restart |
Wanneer je het bestand hebt opgeslagen gaan we controleren of we de juiste syntax hebben gebruikt:
1 |
sudo monit -t |
Als er geen problemen zijn (of de mogelijke fouten verbeterd zijn) dan kan je Monit starten zodat alle geconfigureerde programma’s gemonitord worden.
1 2 |
sudo monit reload sudo monit start all |
Monit op de achtergrond draaien als service:
1 |
sudo service monit start |
Om de status van Monit te bekijken geef dan onderstaande commando:
1 |
sudo monit status |
Dit laat ons onderstaande details zien:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
pi@raspberrypi:~ $ sudo monit status The Monit daemon 5.9 uptime: 20m Process 'domoticz' Running monitoring status Monitored pid 662 parent pid 1 uid 0 effective uid 0 gid 0 uptime 9d 4h 15m children 0 memory kilobytes 54.1 MB memory kilobytes total 54.1 MB memory percent 5.5% memory percent total 5.5% cpu percent 0.2% cpu percent total 0.2% port response time 0.003s to 127.0.0.1:8088/json.htm?type=command¶m=getversion [HTTP via TCP] data collected Fri, 31 Mar 2017 17:25:57 System 'raspberrypi' Running monitoring status Monitored load average [0.22] [0.22] [0.19] cpu 0.9%us 0.4%sy 0.0%wa memory usage 137.0 MB [14.0%] swap usage 0.0 B [0.0%] data collected Fri, 31 Mar 2017 17:25:57 pi@raspberrypi:~ $ |
Wanneer alle bovenstaande stappen zijn uitgevoerd, zal zowel de Raspberry Pi als ook Domoticz gemonitord worden en de processen automatisch herstart worden indien dit nodig is.