Contents
Monitor Domoticz
When you trying scripts or plugins, or install the latest beta a crash of Domoticz can happen. With Monit, you can monitor Domoticz and will be informed when Domoticz is down. Not only a mail but it can also try a restart of Domoticz. and when that’s not the solution it can reboot the system.
Install Monit
1 | sudo apt-get install monit |
Configure Monit
When monit is installed it must be configured. You must tell monit what it must monitoring and what to do.
1 sudo nano /etc/monit/monitrc
- set daemon 300 -> Check services at 300 seconds (5 minutes)
- with start delay 300 -> Start checking the services after 300 seconds (this avoids bootloops if Domoticz has not started yet, give it some time to start fully)
- set logfile /var/log/monit.log -> It is preferred to change the location of the log file to a mounted USB drive or HDD. Or store it in a RAM-drive.
Configure Email notifications
Gmail
1
2
3
4
5 set mailserver smtp.gmail.com port 587
username "[email protected]" password "MYPASSWORD"
using tlsv1
with timeout 30 seconds
set alert [email protected]
If you use Gmail with 2-step verification, you first have to create an App password
POP3
1
2
3
4 set mailserver smtp.yourprovider.com port 25
with timeout 30 seconds
set mail-format { from: [email protected] }
set alert [email protected]
To test if Monit can send you emails, issue a
1 | sudo monit reload |
and you should get a mail that the instance has changed.
Webservice
Monit comes with its own webserver, running on port 2812. To configure the web interface, find and uncomment the section that begins with set httpd port 2812. Once the section is uncommented, fill in the IP-address of the machine where you have Domoticz running at, allow anyone to connect, and then create a monit user and password
set httpd port 2812 use address 0.0.0.0 # only accept connection from localhost (comment to connect from other hosts) allow 192.168.0.1/255.255.255.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
Once this is configured, you should reload monit:
1 sudo service monit reload
You will then be able to access the monit web interface by going to “YOURIP:2812” (change to IP-adress of your Domoticz system) Login with the username and password you configured earlier in the configfile (admin/monit ?).
Configuring monitoring of programs
Once the web services are set up, you can begin to input the programs that you want monitored and protected into the “/etc/monit/monitrc” configuration file. To simply ensure that programs stay online, you can use the /etc/init.d commands to stop or start a program. Here are some example configurations:
1 | ##Domoticz |
1
2
3
4
5
6
7
8
9 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&param=getversion
and content = '"status" : "OK"'
for 2 cycles
then restart
if 5 restarts within 5 cycles then exec "/sbin/reboot"
- Remark: if the service is not found, check if the response from Domoticz still exactly contains the string “state”: “OK”
To check for CPU-usage, include the line
1 | if cpu usage > 70% for 3 cycles then restart |
for example (put it between the ‘then restart’ and the last ‘if 5 restarts..’ line).
Once you have set up the configuration, check the syntax:
1 sudo monit -t
After resolving any possible syntax errors, you can start running all of the monitored programs.
1 sudo monit start all
data collected Thu, 30 Aug 2012 18:35:00
Monit can be started with a command that then keeps it running in the background
1 sudo service monit start
Typing the command below displays monit’s status
1 sudo monit status
This shows us the details:
1
2
3
4
5
6
7
8
9 The Monit daemon 5.3.2 uptime: 1h 25m
System 'myhost.mydomain.tld'
status Running
monitoring status Monitored
load average [0.03] [0.14] [0.20]
cpu 3.5%us 5.9%sy 0.0%wa
memory usage 26100 kB [10.4%]
swap usage 0 kB [0.0%]
data collected Thu, 30 Aug 2012 18:35:00
Your done!
Once you have configured all of the above steps, Domoticz will be tracked constantly and the process will be restarted automatically if it would have stopped running.