======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