WRT Router Series Monit: Difference between revisions
mNo edit summary |
|||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
This subject could apply to installations on other platforms besides OpenWRT. | This subject could apply to installations on other platforms besides OpenWRT. | ||
Monit allow for monitoring (via command line or web GUI) of services, plus restarting of services if they're not running or not responding. | Monit allow for monitoring (via command line or web GUI (http://WhatEverIPAddressOrHostName:2812 (default port))) of services, plus restarting of services if they're not running or not responding. | ||
===Installation=== | ===Installation=== | ||
| Line 8: | Line 8: | ||
opkg install monit | opkg install monit | ||
=== Configuration | ===Configuration File(s) & Directories for Monit Service=== | ||
/etc/monitrc | /etc/monitrc (file) | ||
/etc/monit.d (directory) | |||
If configuring in a fashion similar to operating systems such as CentOS, then; | If configuring in a fashion similar to operating systems such as CentOS, then; | ||
* Create this Directory: /etc/monit.d | *Create this Directory: /etc/monit.d | ||
* Add this line or un-comment this line from /etc/monitrc: include /etc/monit.d/* | *Add this line or un-comment this line from /etc/monitrc: include /etc/monit.d/* | ||
* Add additional configuration files to the /etc/monit.d Directory | *Add additional configuration files to the /etc/monit.d Directory | ||
=== Configuration === | ===Configuration=== | ||
The default configuration for Monit from OpenWRT is configured in a very secure, with limited capability to view information (IE, it's only available from the command line, see the below configuration section from /etc/monitrc);<syntaxhighlight lang="text"> | The default configuration for Monit from OpenWRT is configured in a very secure, with limited capability to view information (IE, it's only available from the command line, see the below configuration section from /etc/monitrc);<syntaxhighlight lang="text"> | ||
set httpd port 2812 and | set httpd port 2812 and | ||
| Line 30: | Line 32: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Notifications & Alerts === | ===Configuration of Individual Service(s) Monitoring=== | ||
If configured in the manner described in the Configuration File(s) for Monit Service section, each of the following example can be placed in a separate text file in the /etc/monit.d directory. | |||
Apache Example (The below Apache example is very simple. It can also be configured to connect to a website and check for the existence of a specific file); | |||
<syntaxhighlight lang="text"> | |||
check process httpd with pidfile /tmp/run/apache2/httpd.pid | |||
start program "/etc/init.d/apache2 start" | |||
stop program "/etc/init.d/apache2 stop" | |||
restart program "/etc/init.d/apache2 restart" | |||
if 5 restarts within 5 cycles then timeout | |||
</syntaxhighlight> | |||
BIND / NAMED Example; | |||
<syntaxhighlight lang="text"> | |||
<syntaxhighlight lang="text"> | |||
check process named with pidfile /tmp/run/named/named.pid | |||
start program "/etc/init.d/named start" | |||
stop program "/etc/init.d/named stop" | |||
restart program "/etc/init.d/named restart" | |||
if failed host 192.168.2.1 port 53 type tcp protocol dns then restart | |||
if failed host 192.168.2.1 port 53 type udp protocol dns then restart | |||
if 5 restarts within 5 cycles then timeout | |||
</syntaxhighlight> | |||
DHCPC Example; | |||
check process dhcpd with pidfile /tmp/run/dhcpd.pid | |||
start program "/etc/init.d/dhcpd start" | |||
stop program "/etc/init.d/dhcpd stop" | |||
restart program "/etc/init.d/dhcpd restart" | |||
if failed host 192.168.2.1 port 67 type udp then restart | |||
if 5 restarts within 5 cycles then timeout | |||
<nowiki></syntaxhighlight></nowiki> | |||
MySQL Example; | |||
<syntaxhighlight lang="text"> | |||
check process mysqld with pidfile /tmp/run/mysqld/mysqld.pid | |||
start program "/etc/init.d/mysqld start" | |||
stop program "/etc/init.d/mysqld stop" | |||
restart program "/etc/init.d/mysqld restart" | |||
if failed unixsocket /tmp/run/mysqld/mysqld.sock then restart | |||
if 5 restarts within 5 cycles then timeout | |||
</syntaxhighlight> | |||
===Notifications & Alerts=== | |||
The Monit service can also send email notifications and alerts. This can get annoying over time, but it is useful if troubleshooting or monitoring a process. The annoyance can also be "reigned in" to a certain degree. | The Monit service can also send email notifications and alerts. This can get annoying over time, but it is useful if troubleshooting or monitoring a process. The annoyance can also be "reigned in" to a certain degree. | ||
===Some Interesting HDD / SSD Monitoring Tips=== | |||
From: https://www.smarthomebeginner.com/monit-monitor-hard-drive-smart-health-and-temperature/ | |||
And to monitor via UUID instead of "SDx" (which is a bit unreliable): https://wiki.archlinux.org/index.php/S.M.A.R.T. | |||
===Additional Tips=== | |||
For monitoring OpenVPN: https://serverfault.com/questions/647506/make-monit-check-openvpn-client-connection-status | |||
===Finally / Lastly=== | |||
Access Monit here (assuming it is set to it's default port and not using HTTPS): http://WhatEverIpAddressOfRouter:2812 | |||
...and of course after configuring a new MONIT file, restart the service: service monit restart | |||
===Credits & Thanks=== | |||
A lot of information from here (not sure if this is the original source, but crediting just the same): https://www.smarthomebeginner.com/monit-monitor-file-server-status-samba-nfs/ | |||