I’m setting up my new RasPi and decided to not use OpenMediaVault this time, since it’s quite bloated and since DietPi offers alternatives for most of the functionality already.
Yet what I am really missing is some kind of monitoring software that informs me via email if something is wrong. Things like:
A Cron job fails
A file system is nearly full
S.M.A.R.T. values of a drive are getting bad
RasPi feeling sad or hungry
other catastrophes
Can you recommend an appropriate software that does that? It should also:
work well with DietPi
be reasonably easy to setup
consume only a reasonable amount of resources → not super bloated
many thanks for your message. Not sure if there is a tool who covers all your needs but you could have a look to the system managemanet tools that are offered by dietpi-software catalogue.
Have you tried the different solutions? I’m not sure how far you will go, just for example: I installed Telegraf+InfluxDB+Grafana in a Docker env last days on my RPi4 to have a dashboard available. Next step is to define alarms in Grafana to notify me.
I had to go into the /etc/monitrc config file and comment out the only allow localhost so I could see the webpage it generates (the howto below shows how to add a network to be allowed in)…not sure what it takes to configure the rest, but it’s an option
Configuration howto for monit https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-monit
I was able to install it, and setup a “docker” monitor using this at the end of the monitrc file in /etc
check process apache with pidfile /run/docker.pid
start program = "/etc/init.d/docker start" with timeout 60 seconds
stop program = "/etc/init.d/docker stop"
To add programs you want to monitor…just edit the /etc/init.d/****** and all new blocks at the end
you will have to go thru the config file and setup your email stuff and whatnot…plenty of howto’s out there
I am facing a unique problem with my nextcloud setup on raspaberrypi-3 with dietpi operating system with headless in my home. I have setup USB HDD & transfer ROOTfs & userdata in usb_hdd partitions. Everything is working accordingly. I have transferred about 300GB data on usbHDD through nextcloud web app & system complete that process with one day.
Now when in nextcloud app I click media tab. It will start making of thumbnail for about 25,000 images. On another computer with htop command I am able to see all cpu usage 100%, Ram usage =100% for sustain long time. I have already make swap file for 2.0GB. then system freeze. All apps are unresponsive
Nextcloud app/proftpd/dropbear ssh & overall raspberry offline. The only way to restart it by removing power & replug it. It is very cruel act for my loving raspberry pi.
Then I try to find on internet the main culprit of this situation & found that under heavy load when raspberry work under maximum load & out of its limited resources. It start crushing ongoing programs to maintained the load. So I feel may be this is the reason my raspberry not responded. So some good people already found this situation in past & found the solution “monit”. I also want to implement this thing on my machine. Please guideme/share the working config file for “monit” for all dietpi installed softwares.
Dropbear SSH
#Pro FTP #Nextcloud (with all it dietpi default components) #lightTPD #Redis #mysql #redis
I want “monit” monitor these programs in background after each hour. If any program not working, it will restart that program. If something un- recoverable then reboot the whole raspberry pi. This way is much better then my current way to reboot the system via removing power. Please help me to overcome this situation.
Thanks in advance.
check process proftpd with pidfile /var/run/proftpd.pid
start program = “/etc/init.d/proftpd start”
stop program = “/etc/init.d/proftpd stop”
if failed port 21 protocol ftp then restart
check process sshd with pidfile /var/run/sshd.pid
start program “/etc/init.d/sshd start”
stop program “/etc/init.d/sshd stop”
if failed port 22 protocol ssh then restart
check process apache with pidfile /opt/apache_misc/logs/httpd.pid
group www
start program = “/etc/init.d/apache start”
stop program = “/etc/init.d/apache stop”
if failed host localhost port 80
protocol HTTP request “/~hauk/monit/token” then restart
if failed host 127.0.0.1 port 443 type TCPSSL
certmd5 12-34-56-78-90-AB-CD-EF-12-34-56-78-90-AB-CD-EF
protocol HTTP request http://localhost/~hauk/monit/token then restart
depends on apache_bin
depends on apache_rc
check process mysql with pidfile /opt/mysql/data/myserver.mydomain.pid
group database
start program = “/etc/init.d/mysql start”
stop program = “/etc/init.d/mysql stop”
if failed host 127.0.0.1 port 3306 protocol mysql then restart
depends on mysql_bin
depends on mysql_rc
check process redis-server with pidfile “/var/run/redis/redis-server.pid”
start program = “/etc/init.d/redis-server start”
stop program = “/etc/init.d/redis-server stop”
if failed host 127.0.0.1 port 6379 then restart
well this is not that simple as you would need to rewrite all the statement to use systemd instead of init.d.
For MariaDB is could look like this
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group database
group mysql
start program = "/usr/bin/systemctl start mariadb.service"
stop program = "/usr/bin/systemctl stop mariadb.service"
if failed host localhost port 3306 protocol mysql with timeout 15 seconds for 3 times within 4 cycles then restart
if failed unixsocket /var/run/mysqld/mysqld.sock protocol mysql for 3 times within 4 cycles then restart
if 5 restarts with 5 cycles then timeout
not if this will work in reality but at least it’s shown up