Difference between revisions of "Monit"

From Amahi Wiki
Jump to: navigation, search
Line 5: Line 5:
 
File location for Monit configuration file (monitrc):
 
File location for Monit configuration file (monitrc):
 
* Ubuntu
 
* Ubuntu
{{code|cd /etc/monit}}
+
cd /etc/monit
 
* Fedora 19
 
* Fedora 19
{{code|cd /etc}}
+
cd /etc
  
 
== Change Hostname ==
 
== Change Hostname ==
 
Edit monitrc and change ''localhost.localdomain'' to match your system:
 
Edit monitrc and change ''localhost.localdomain'' to match your system:
{{Text|Text=check system localhost.localdomain}}
+
check system localhost.localdomain
<br />
 
  
 
== Email Notifications ==
 
== Email Notifications ==
Line 18: Line 17:
  
 
You can do it in Monit directly by adding the following to monitrc:
 
You can do it in Monit directly by adding the following to monitrc:
{{Text|Text=set mailserver smtp.gmail.com port 587  
+
set mailserver smtp.gmail.com port 587  
 
     username "MYUSER" password "MYPASSWORD"
 
     username "MYUSER" password "MYPASSWORD"
     using tlsv1}}
+
     using tlsv1
  
  
Line 26: Line 25:
  
 
Enable email notifications by editing monitrc and adding the following lines (Change as needed to match your system):
 
Enable email notifications by editing monitrc and adding the following lines (Change as needed to match your system):
{{Text|set mailserver localhost
+
set mailserver localhost
 
set mail-format { from: monit@localhost }
 
set mail-format { from: monit@localhost }
set alert root@localhost}}
+
set alert root@localhost
  
  
 
Restart Monit:
 
Restart Monit:
 
* Ubuntu
 
* Ubuntu
{{Code|/etc/init.d/monit restart}}
+
/etc/init.d/monit restart
 
* Fedora 19
 
* Fedora 19
{{Code|systemctl restart monit.service}}
+
systemctl restart monit.service
  
 
== Change Message Format ==
 
== Change Message Format ==
 
Edit monitrc and add this text (modify as needed):
 
Edit monitrc and add this text (modify as needed):
{{Text|Text=set mail-format <nowiki>{</nowiki>
+
set mail-format {
 
     from: monit@localhost
 
     from: monit@localhost
 
     subject: [ $SERVICE ] $EVENT - $DATE
 
     subject: [ $SERVICE ] $EVENT - $DATE
     message: This is an $ACTION: $DESCRIPTION [$SERVICE], tested remotely from $HOST <nowiki>}</nowiki>}}
+
     message: This is an $ACTION: $DESCRIPTION [$SERVICE], tested remotely from $HOST }
  
  
 
Restart Monit:
 
Restart Monit:
 
* Ubuntu
 
* Ubuntu
{{Code|/etc/init.d/monit restart}}
+
/etc/init.d/monit restart
 
* Fedora 19
 
* Fedora 19
{{Code|systemctl restart monit.service}}
+
systemctl restart monit.service
  
 
== Change Access Credentials ==
 
== Change Access Credentials ==
 
Edit monitrc and change as desired:
 
Edit monitrc and change as desired:
{{Text|Text=allow admin:admin}}
+
allow admin:admin
  
  
 
Restart Monit:
 
Restart Monit:
 
* Ubuntu
 
* Ubuntu
{{Code|/etc/init.d/monit restart}}
+
/etc/init.d/monit restart
 
* Fedora 19
 
* Fedora 19
{{Code|systemctl restart monit.service}}
+
systemctl restart monit.service
  
 
== Enable Secure access (Fedora 19) ==
 
== Enable Secure access (Fedora 19) ==
 
Edit monitrc and add below <u>set httpd port 2812 and</u> (line 116):
 
Edit monitrc and add below <u>set httpd port 2812 and</u> (line 116):
{{text|SSL ENABLE
+
SSL ENABLE
PEMFILE  /var/certs/monit.pem}}
+
PEMFILE  /var/certs/monit.pem
  
  
Line 73: Line 72:
 
== Create New Certificate ==
 
== 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:</b> prefix commands with <code>sudo</code> except the second openssl requires the actual '''''root''''' user environment <code>sudo su -</code>):
 
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:</b> prefix commands with <code>sudo</code> except the second openssl requires the actual '''''root''''' user environment <code>sudo su -</code>):
{{Code|cd /var/certs
+
cd /var/certs
openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pem
+
openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs \
openssl gendh 512 >> /var/certs/monit.pem
+
/monit.pem -keyout /var/certs/monit.pem
openssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pem
+
openssl gendh 512 >> /var/certs/monit.pem
chmod 700 /var/certs/monit.pem}}
+
openssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pem
 +
chmod 700 /var/certs/monit.pem
  
 
Restart Monit:
 
Restart Monit:
 
* Ubuntu
 
* Ubuntu
{{Code|sudo /etc/init.d/monit restart}}
+
sudo /etc/init.d/monit restart
 
* Fedora 19
 
* Fedora 19
{{Code|systemctl restart monit.service}}
+
systemctl restart monit.service
  
 
== Configuration Examples ==
 
== Configuration Examples ==

Revision as of 15:32, 8 December 2013

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 Monit Service Manager one-click app. This app (Ubunutu-LIVE, Fedora 19-BETA) provides additional detail about the processes currently running on your HDA.

File location for Monit configuration file (monitrc):

  • Ubuntu
cd /etc/monit
  • Fedora 19
cd /etc

Change Hostname

Edit monitrc and change localhost.localdomain to match your system:

check system localhost.localdomain

Email Notifications

This will only work if you have set up your HDA to send emails. The Gmail as Relay tutorial is one option.

You can do it in Monit directly by adding the following to monitrc:

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 adding the following lines (Change as needed to match your system): set mailserver localhost set mail-format { from: monit@localhost } set alert root@localhost


Restart Monit:

  • Ubuntu
/etc/init.d/monit restart
  • Fedora 19
systemctl restart monit.service

Change Message Format

Edit monitrc and add this text (modify as needed):

set mail-format {
    from: monit@localhost
    subject: [ $SERVICE ] $EVENT - $DATE
    message: This is an $ACTION: $DESCRIPTION [$SERVICE], tested remotely from $HOST }


Restart Monit:

  • Ubuntu
/etc/init.d/monit restart
  • Fedora 19
systemctl restart monit.service

Change Access Credentials

Edit monitrc and change as desired:

allow admin:admin


Restart Monit:

  • Ubuntu
/etc/init.d/monit restart
  • Fedora 19
systemctl restart monit.service

Enable Secure access (Fedora 19)

Edit monitrc and add below set httpd port 2812 and (line 116):

SSL ENABLE
PEMFILE  /var/certs/monit.pem


Create a directory for the certs, then follow "Create New Certificate" guidance:

bash code
​mkdir -p /var/certs​


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 (Ubuntu NOTE: prefix commands with sudo except the second openssl requires the actual root user environment sudo su -):

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
sudo /etc/init.d/monit restart
  • Fedora 19
systemctl restart monit.service

Configuration Examples

Monit Configuration Examples: Covers many common processes that users may want to monitor. Some minor changes may be needed for Fedora or Ubuntu.