======Monitoring einrichten======
Das Monitoring selbst wird in Monit durch die [[monit_instalation|Mainkonfigurationsdatei]] **/etc/monit/monitrc/**
(Bereich Monitoring) eingerichtet.\\ Im Ersten teil werde ich Ihnen einen übersiecht der Möglichkeiten geben. Im zweiten teil gebe ich Ihnen ein paar konkrete Beispiele.
===Nach Änderungen der Konfigurationsdatei muss folgender befehl ausgeführt werden ===
monit -t
\\
\\
\\
=====Übersucht=====
====Process====
CHECK PROCESS | MATCHING >
is the absolute path to the program's pid-file. A pid-file is a file, containing a Process's unique ID. If the pid-file does not exist or does not contain the PID number of a running process, Monit will call the entry's start method if defined.
\\
\\
====File====
CHECK FILE PATH
is the absolute path to the file. If the file does not exist, Monit will call the entry's start method if defined, if does not point to a regular file type (for instance a directory), Monit will disable monitoring of this entry. If Monit runs in passive mode or the start method is not defined, Monit will just send an alert on error.
\\
\\
====Fifo====
CHECK FIFO PATH
is the absolute path to the fifo. If the fifo does not exist, Monit will call the entry's start method if defined, if does not point to a fifo type (for instance a directory), Monit will disable monitoring of this entry. If Monit runs in passive mode or the start method is not defined, Monit will just send an alert on error.
\\
\\
====Filesystem====
CHECK FILESYSTEM PATH
is the path to the device/disk, mount point or NFS/CIFS/FUSE connection string. If the filesystem becomes unavailable, Monit will call the service's start method if defined. If Monit runs in passive mode or the start method is not defined, Monit will just send an alert on error.
\\
\\
====Directory====
CHECK DIRECTORY PATH
is the absolute path to the directory. If the directory does not exist, Monit will call the entry's start method if defined. If does not point to a directory, monit will disable monitoring of this entry. If Monit runs in passive mode or the start methods is not defined, Monit will just send an alert on error.
\\
\\
====Remote host====
CHECK HOST ADDRESS
The host address can be specified as a hostname string or as an IP-address string on a dotted decimal format. Such as, "tildeslash.com" or "64.87.72.95".
\\
\\
====System====
CHECK SYSTEM
The unique name is usually the local host name, but any descriptive name can be used. If you use the variable $HOST as the name, it will expand to the hostname. This check allows one to monitor general system resources such as CPU usage, total memory usage or load average. The unique name is used as the system hostname in mail alerts and as the initial name of the host entry in M/Monit.
\\
\\
====Program====
CHECK PROGRAM PATH [TIMEOUT SECONDS]
is the absolute path to the executable program or script. The status test allows one to check the program's exit status. If the program does not finish executing within seconds, Monit will terminate it. The default program timeout is 300 seconds (5 minutes). The output of the program is recorded and made available in the User Interface and in alerts, by default up to 512 bytes. You can change the output limit using the set limits statement).
\\
\\
====Network====
CHECK NETWORK | INTERFACE >
is the IPv4 or IPv6 address of the monitored network interface. It is also possible to use interface name, such as "eth0" on Linux.
\\
\\
\\
=====Beispiele=====
\\
\\
====Host Überwachung====
check system $HOST
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if swap usage > 25% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
\\
\\
====SSh Überwachung====
check process SSH with pidfile /var/run/sshd.pid
start program "/bin/bash -c '/etc/init.d/ssh start'"
stop program "/bin/bash -c '/etc/init.d/ssh stop'"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout
\\
\\
====Apache2 Überwachung====
check process Apache2 with pidfile /var/run/apache2/apache2.pid
group www
start program = "/bin/bash -c '/etc/init.d/apache2 start'"
stop program = "/bin/bash -c '/etc/init.d/apache2 stop'"
if failed host www.netgraphtech.de port 80 protocol http then restart
if 5 restarts within 5 cycles then timeout
\\
\\
====MySql Überwachung====
check process MySql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/bin/bash -c '/etc/init.d/mysql start'"
stop program = "/bin/bash -c '/etc/init.d/mysql stop'"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
\\
\\
====Fail2ban Überwachung====
check process Fail2ban with pidfile /var/run/fail2ban/fail2ban.pid
start program = "/bin/bash -c '/etc/init.d/fail2ban start'"
stop program = "/bin/bash -c '/etc/init.d/fail2ban stop'"
\\
\\
====Teamspeak3 Überwachung====
check process Teamspeak3 with pidfile /usr/local/teamspeak3/teamspeak3-server_linux_amd64/ts3server.pid
start program "/bin/bash -c '/etc/init.d/teamspeak3 start'"
stop program "/bin/bash -c '/etc/init.d/teamspeak3 stop'"
if failed host netgraphtech.de port 10011 then restart
if 5 restarts within 5 cycles then timeout
\\
\\
====Festplatten Überwachung====
check device root with path /dev/sda3