Changes

From Amahi Wiki
Jump to: navigation, search
2,078 bytes added ,  01:35, 27 August 2019
[http://mmonit.com/monit Monit] (Amahi's watchdog) is a utility for managing and monitoring processes, programs, files, directories and filesystems on a Unix system. It is integrated in Amahi and managed using the '''''Servers''''' section of the '''Settings''' tab.
Monit has an integrated web interface which can exposed using the [http://www.amahi.org/apps/monit-service-manager Monit Service Manager] one-click app. This app (currently BETA status) provides additional detail about the processes currently running on your HDA.
We will add additional customizations to this page over timeMonit configuration file locations: * Main (monitrc):** Ubuntu - /etc/monit** Fedora - /etc * Services:** Ubuntu - /etc/monit/monit.d** Fedora - /etc/monit.d
File location for Monit configuration file (monitrc):
* Ubuntu
{{code|cd /etc/monit}}
* Fedora
{{code|cd /etc}}
== Change Hostname ==
Edit monitrc and change ''localhost.localdomain'' to match your system:
{{Text|Text= check system localhost.localdomain}}
== Email Notifications ==
This will only work if you have set up your HDA to send emails. The [[Gmail_As_Relay_On_Ubuntu|Gmail as Relay]] tutorial is one option or you can do it in Monit directly.
Edit You can do it in Monit directly by adding the following to monitrc and update as follows:{{Text|Text= set mailserver smtp.gmail.com port 587
username "MYUSER" password "MYPASSWORD"
using tlsv1}}  
'''NOTE:''' Replace "MYUSER" and "MYPASSWORD" with your Gmail user name and password.
Enable email notifications by editing monitrc and uncomment (remove #) adding the following lines (Change as needed to match your system):{{Text|Text=<nowiki>#</nowiki>set mailserver localhost<nowiki>#</nowiki>set mail-format { from: monit@localhost }<nowiki>#</nowiki>set alert root@localhost}}  
Restart Monit:
* Ubuntu
{{Code| sudo /etc/init.d/monit restart}}* Fedora(root user){{Code| systemctl restart monit.service}}
== Change Message Format ==
Edit monitrc and comment out (add #) the following line:{{Text|Text=#set mail-format <nowiki>{</nowiki> from: monit@localhost <nowiki>}</nowiki>}}Add this text below it (modify as needed):{{Text|Text= set mail-format <nowiki>{</nowiki>
from: monit@localhost
subject: [ $SERVICE ] $EVENT - $DATE
message: This is an $ACTION: $DESCRIPTION [$SERVICE], tested remotely from $HOST <nowiki>}</nowiki>}}  
Restart Monit:
* Ubuntu
{{Code| sudo /etc/init.d/monit restart}}* Fedora(root user){{Code| systemctl restart monit.service}}
== Change Access Credentials ==
Edit monitrc and change as desired:
{{Text|Text= allow admin:admin}}  
Restart Monit:
* Ubuntu
{{Code| sudo /etc/init.d/monit restart}}* Fedora(root user){{Code| systemctl restart monit.service}}
== Add Enable Secure access (httpsFedora) ==
Edit monitrc and add below <u>set httpd port 2812 and</u> (line 116):
{{text| SSL ENABLE PEMFILE /var/certs/monit.pem}}Follow "Update Certificate" guidance and then restart monit:* Ubuntu{{Code|/etc/init.d/monit restart}}* Fedora{{Code|systemctl restart monit.service}}
== Update Certificate ==A default certificate is installed by Create a directory for the Amahi application. To change the certificatecerts, do the following steps as root user (For Ubuntu, prefix the command lines with <code>sudo</code>)then follow "Create New Certificate" guidance:{{Code|cd /var/certsopenssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pemopenssl gendh 512 >> /var/certs/monit.pemopenssl x509 -subject mkdir -dates -fingerprint -noout -in p /var/certs/monit.pemchmod 700 /var/certs/monit.pem}}
'''== Create New Certificate ==A default certificate is installed by the Amahi application (Ubuntu). To create a new certificate, do the following steps as root user (<b>Ubuntu NOTE:''' For Ubuntu, </b> prefix commands with <code>sudo</code> except the second openssl (openssl gendh) step requires the actual '''''root''''' user environment (<code>sudo su -</code>): cd /var/certs openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs \ /monit.pem -keyout /var/certs/monit.pem openssl gendh 512 >> /var/certs/monit.pem openssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pem chmod 700 /var/certs/monit.pem
Restart Monit:
* Ubuntu
{{Code| sudo /etc/init.d/monit restart}}* Fedora(root user){{Code| systemctl restart monit.service}}
== Configuration Examples ==
===Amahi 8 or Greater===
'''httpd:'''
<pre>check process apache with pidfile "/var/run/httpd/httpd.pid"
start program = "/usr/bin/systemctl start httpd.service"
stop program = "/usr/bin/systemctl stop httpd.service"</pre>
 
'''mariadb:'''
<pre>check process mysql with pidfile "/var/run/mariadb/mariadb.pid"
start program = "/usr/bin/systemctl start mariadb.service"
stop program = "/usr/bin/systemctl stop mariadb.service"</pre>
 
'''dnsmasq:'''
<pre>check process dnsmasq with pidfile /var/run/dnsmasq.pid
start program = "/usr/bin/systemctl start dnsmasq.service"
stop program = "/usr/bin/systemctl stop dnsmasq.service"</pre>
 
'''sshd:'''
<pre>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</pre>
 
'''postfix:'''
<pre> check process postfix with pidfile /var/spool/postfix/pid/master.pid
group mail
start program = "/etc/init.d/postfix start"
stop program = "/etc/init.d/postfix stop"
if failed port 25 protocol smtp then restart</pre>
 
'''crond:'''
<pre>check process crond with pidfile /var/run/crond.pid
group system
start program = "/usr/bin/systemctl start crond.service"
stop program = "/usr/bin/systemctl stop crond.service"
if 5 restarts within 5 cycles then timeout</pre>
 
'''hda-ctl:'''
<pre>check process hda-ctl with pidfile /var/run/hda-ctl.pid
start program = "/usr/bin/systemctl start hda-ctl.service"
stop program = "/usr/bin/systemctl stop hda-ctl.service"</pre>
 
'''syslogd:'''
<pre>check process syslog with pidfile /var/run/syslogd.pid
start program = "/usr/bin/systemctl start syslog.service"
stop program = "/usr/bin/systemctl stop syslog.service"
if 5 restarts within 5 cycles then timeout</pre>
 
'''storagespace:'''
<pre># add each drive you want to monitor below
check filesystem Boot with path /dev/sda1
if space usage > 90% then alert
check filesystem Root with path /dev/sda3
if space usage > 90% then alert
check filesystem Shares with path /dev/sda4</pre>
 
'''qbittorrent'''
<pre>check process qBittorrent matching "qbittorrent-nox"
start program = "/usr/bin/systemctl start qbittorrent-nox@bigfoot.service"
stop program = "/usr/bin/systemctl stop qbittorrent-nox@bigfoot.service"
if failed host 127.0.0.1 port 8090 type TCP for 2 cycles then restart
if 2 restarts within 3 cycles then unmonitor</pre>
 
===Reference===
[http://mmonit.com/wiki/Monit/ConfigurationExamples Monit Configuration Examples]: Covers many common processes that users may want to monitor. Some minor changes may be needed for Fedora or Ubuntu.
[[Category:Apps]]
12,424

edits