Monitoring door Monit voor Raspberry Pi en Domoticz

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:


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:


Pas de volgende parameters aan:


 

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


Outlook.com configuratie


POP3 configuratie


 

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.


Zodra bovenstaande goed geconfigureerd is, moeten we Monit herstarten:


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.


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.


Wanneer je het bestand hebt opgeslagen gaan we controleren of we de juiste syntax hebben gebruikt:


Als er geen problemen zijn (of de mogelijke fouten verbeterd zijn) dan kan je Monit starten zodat alle geconfigureerde programma’s gemonitord worden.


Monit op de achtergrond draaien als service:


Om de status van Monit te bekijken geef dan onderstaande commando:


Dit laat ons onderstaande details zien:


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.

9 gedachten over “Monitoring door Monit voor Raspberry Pi en Domoticz

  • Pingback: Monitor domoticz – Blogs Created by Daag van der Meer

  • 10 oktober 2019 om 23:54
    Permalink

    Hallo,

    Dank voor alle moeite die je in website stopt om ons allemaal wat te leren over Domotica!
    Deze website heb ik inmiddels herhaaldelijk geraadpleegd.

    Monit heb ik nu draaien op mijn RPi 3 en nu zou ik graag ” Homebridge” er mee willen monitoren.
    Is dit een goed idee of kan dit ook handiger?

    Met vriendelijke groet,

    Jeroen

    Beantwoorden
  • 12 oktober 2019 om 16:25
    Permalink

    Hallo Joost,

    Met veel interesse je website aan het lezen.
    Veel onderwerpen al gebruikt voor mijn eigen Domoticz die draait op een Raspberry Pi3.

    Heb nu de door jou aangegeven service Monit geïnstalleerd om de server constant te laten draaien.
    Heb een vraagje, hoe gaat het wegschrijven van de Monit logs nu in combinatie met de acties die ik heb uitgevoerd op advies van jou stuk over het voorkomen van een corrupte micro sd?
    Worden de monit logs hier automatisch in opgenomen of moet de volgende parameter worden aangepast: logfile /var/log/monit.log

    Daarnaast wil ik ook Fail2Ban installeren om zodoende mijn Domoticz server te beschermen.
    In de beschrijving voor die installatie heb je aangeven dat bij #DAEMON_ARGS=”$DAEMON_ARGS -log /tmp/domoticz.txt” de # weg moet.

    Echter in de beschrijving in het stuk over het voorkomen van van een corrupte sd card staat dat #DAEMON_ARGS=”$DAEMON_ARGS -log /tmp/domoticz.txt” moet worden veranderd in DAEMON_ARGS=”$DAEMON_ARGS -log /tmp/log/domoticz.log -loglevel=normal”.

    Kunnen deze twee instructies wel worden gecombineerd?

    Bedankt voor al je nuttige info en hopelijk heb je de tijd om mijn vragen te beantwoorden.

    Mvrg Harald

    Beantwoorden
    • 12 oktober 2019 om 21:25
      Permalink

      Ze kunnen wel gecombineerd worden, maar je moet dan bij beiden .log óf .txt gebruiken.

      Beantwoorden
  • 1 december 2019 om 10:46
    Permalink

    Is er ook een beschrijving ergens van Monit met Home Assistant?

    Beantwoorden
  • 1 maart 2020 om 21:06
    Permalink

    Joost…

    Bedankt voor je prachtige tut…

    Alleen restart domoticz niet, maar wacht hij tot 5x niet gerestart en dan gaat er een reboot.

    Mss een oplosssig hier voor?

    Beantwoorden
    • 1 maart 2020 om 23:16
      Permalink

      Er wordt 5x geprobeerd om Domoticz te restarten en als dat niet lukt volgt er een reboot.
      Ik kan helaas niet zien waarom Domoticz bij jou niet restart.

      Beantwoorden
  • 16 augustus 2020 om 14:24
    Permalink

    Ik krijg een syntax error in:
    if cpu usage > 70% for 3 cycles then restart

    blijkbaar is > niet correct?
    if cpu usage > 70% werkt ook niet.

    Iemand een idee wat de juiste syntax is

    Beantwoorden

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *