Monit je open source proaktivní monitorovací nástroj pro operační systém Linux, který vám pomáhá sledovat systémový proces pomocí webového prohlížeče a také kdykoli to vyžaduje automaticky provádět údržbu nebo opravu konkrétního procesu (tj. restartování služby) tak, aby lze vrátit online.
Monit lze také použít pro proaktivní správu a monitorování programů, souborů, adresářů a zařízení pro změny oprávnění, změny časových razítek, změny velikosti a změny kontrolního součtu; neomezuje se na provádění různých kontrol protokolů, kontroly sítě TCP/IP a může pro tyto kontroly využít SSL.
Přihlásí se do svého log souboru a upozorní uživatele pomocí přizpůsobitelných zpráv. Tato příručka vám pomůže nastavit Monit na Debian 9 / Ubuntu 16.04 .
Tato příručka by měla fungovat i na předchozích verzích Debianu a Ubuntu jako je Debian 8 , Ubuntu 14.04 a také na aktuální verzi Ubuntu, tj. Ubuntu 17.04
Instalovat Monit:
Monit je k dispozici v Debianu a Ubuntu repozitáře, takže můžete jednoduše použít „apt-get ” pro instalaci.
$ sudo apt-get -y install monit
Výstup:
Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: sysvinit-core The following NEW packages will be installed: monit 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 309 kB of archives. After this operation, 915 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian stretch/main amd64 monit amd64 1:5.20.0-6 [30 9 kB] Fetched 309 kB in 2s (150 kB/s) Selecting previously unselected package monit. (Reading database ... 124586 files and directories currently installed.) Preparing to unpack .../monit_1%3a5.20.0-6_amd64.deb ... Unpacking monit (1:5.20.0-6) ... Setting up monit (1:5.20.0-6) ... Processing triggers for systemd (232-25) ... Processing triggers for man-db (2.7.6.1-2) ...
Služba Control Monit:
Chcete-li spustit službu Monit, spusťte:
$ sudo systemctl start monit
Chcete-li Monit zastavit, spusťte:
$ sudo systemctl stop monit
Chcete-li restartovat Monit, spusťte:
$ sudo systemctl restart monit
Chcete-li zkontrolovat stav Monit, spusťte:
$ sudo systemctl status monit
Výstup:
● monit.service - LSB: service and resource monitoring daemon Loaded: loaded (/etc/init.d/monit; generated; vendor preset: enabled) Active: active (running) since Tue 2017-06-27 22:36:53 EDT; 9min ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/monit.service └─1094 /usr/bin/monit -c /etc/monit/monitrc Jun 27 22:36:53 server systemd[1]: Starting LSB: service and resource monitoring daemon... Jun 27 22:36:53 server monit[1087]: Starting daemon monitor: monit. Jun 27 22:36:53 server systemd[1]: Started LSB: service and resource monitoring daemon.
Chcete-li povolit službu Monit při spouštění, spusťte:
$ sudo systemctl enable monit
Konfigurovat Monit:
„/etc/monit/monitrc “ je hlavní konfigurační soubor Monitu a další konfigurační soubory pro proces/službu jsou obvykle umístěny v „/etc/monit/conf-available “ a „/etc/monit/conf-enabled “
Upravte hlavní konfigurační soubor a nakonfigurujte důležité parametry Monit's tak, aby splňovaly naše požadavky.
$ sudo nano /etc/monit/monitrc
Pokud chcete změnit časové intervaly mezi servisními kontrolami, upravte níže uvedenou hodnotu.
set daemon 120
Nastavte informace o poštovním serveru pro přenos výstrah generovaných Monit.
set mailserver mx.itzgeek.local port 25
Zadejte e-mailovou adresu, na kterou chcete být upozorněni v případě jakýchkoli selhání/událostí.
set alert [email protected]
Pokud chcete e-maily s upozorněním pouze na určité události, pak:
Příklad:Upozornění pouze na „Časový limit “ a „Ping se nezdařil ” události.
set alert [email protected] only on { timeout, icmp }
Podívejte se na Jak filtrovat událost .
Monit ve výchozím nastavení odešle pouze jedno upozornění, pokud služba selže, a další, když se obnoví. Pokud chcete být upozorněni na každé „N ” cyklu, pokud služba zůstane ve stavu selhání. Př. Čtvrtý cyklus.
alert [email protected] with reminder on 4 cycles
Povolit webové rozhraní Monit:
Monit také přichází s integrovaným webovým rozhraním pro zobrazení stavových služeb a jejich správu prostřednictvím webového prohlížeče. Ve výchozím nastavení je webové rozhraní Monit zakázáno. Chcete-li to povolit, upravte konfigurační soubor Monit „/etc/monit/monitrc “.
$ sudo nano /etc/monit/monitrc
Hledejte „nastavení portu httpd 2812 ” a změňte následující položky.
OD
# set httpd port 2812 and # use address localhost # only accept connection from localhost # allow localhost # allow localhost to connect to the server and # allow admin:monit # require user 'admin' with password 'monit'
KOMU
set httpd port 2812 and allow admin:monit # require user 'admin' with password 'monit'
Restartujte službu Monit.
$ sudo systemctl restart monit
Zkontrolujte, zda služba Monit naslouchá správně na všech rozhraních nebo ne.
$ sudo netstat -antup | grep -i monit
Výstup:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit tcp6 0 0 :::2812 :::* LISTEN 1615/monit
Výše uvedené nastaví Monit tak, aby naslouchal na „portu 2812 ” na všech rozhraních.
Přístup k webovému rozhraní Monit:
Přístup k webovému rozhraní získáte pomocí níže uvedené adresy URL a musíte použít uživatelské jméno jako „admin “ a heslo „monit “ pro přístup k webovému rozhraní Monitu. Domovská stránka Monit bude vypadat takto.
http://vaše-ip-adresa:2812Klikněte na „server ” zobrazíte podrobné informace o Monitu.
Stav Monitu můžete také zobrazit pomocí příkazového řádku Monitu.
$ sudo monit status
Výstup:
Monit 5.20.0 uptime: 6m System 'server' status Running monitoring status Monitored monitoring mode active on reboot start load average [0.16] [0.12] [0.17] cpu 1.4%us 0.1%sy 0.1%wa memory usage 509.4 MB [25.4%] swap usage 0 B [0.0%] uptime 15m boot time Wed, 28 Jun 2017 07:46:33 data collected Wed, 28 Jun 2017 08:00:45
Konfigurace služeb pro monitorování:
Nyní jste připraveni konfigurovat Monit pro sledování dalších služeb, které chcete monitorovat. Konfigurační soubory můžete umístit pod „/etc/monit/conf-enabled/ ” adresář.
Konfigurace Monit pro službu FTP:
Nakonfigurujte Monit tak, aby se spustil, když FTP z jakéhokoli důvodu zanikne. Vytvořte konfigurační soubor s názvem „proftpd “.
$ sudo nano /etc/monit/conf-available/proftpd
Připojte následující konfiguraci k výše uvedenému souboru.
check process proftpd with pidfile /var/run/proftpd.pid start program = "/etc/init.d/proftpd start" stop program = "/etc/init.d/proftpd stop" if failed port 21 protocol ftp then restart
Povolte symbolický odkaz konfiguračního souboru na „/etc/monit/conf-enabled/ ” adresář.
$ sudo ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled/
Ověřte syntaxi Monit.
$ sudo monit -t
Výstup:
Control file syntax OK
Znovu načtěte službu Monit, aby se změny projevily.
$ sudo systemctl reload monit
Podívejte se, zda novou službu vidíte na webovém rozhraní.
Klikněte na název služby „proftpd ” zobrazíte podrobné informace o službě.
Předdefinované šablony:
Monit také přichází s předdefinovanou konfigurační šablonou pro některé procesy a služby. Šablony se nacházejí v „/etc/monit/conf-available/ “ a můžete je povolit jednoduchým symbolickým odkazem na „/etc/monit/conf-enabled/ ” adresář.
$ sudo ls -al /etc/monit/conf-available/
Výstup:(Seznam předdefinovaných šablon)
drwxr-xr-x 2 root root 4096 Jun 27 22:36 . drwxr-xr-x 6 root root 4096 Jun 28 07:54 .. -rw-r--r-- 1 root root 481 Jan 11 08:48 acpid -rw-r--r-- 1 root root 640 Jan 11 08:48 apache2 -rw-r--r-- 1 root root 455 Jan 11 08:48 at -rw-r--r-- 1 root root 691 Jan 11 08:48 cron -rw-r--r-- 1 root root 602 Jan 11 08:48 mdadm -rw-r--r-- 1 root root 669 Jan 11 08:48 memcached -rw-r--r-- 1 root root 703 Jan 11 08:48 mysql -rw-r--r-- 1 root root 521 Jan 11 08:48 nginx -rw-r--r-- 1 root root 471 Jan 11 08:48 openntpd -rw-r--r-- 1 root root 950 Jan 11 08:48 openssh-server -rw-r--r-- 1 root root 683 Jan 11 08:48 pdns-recursor -rw-r--r-- 1 root root 1421 Jan 11 08:48 postfix -rw-r--r-- 1 root root 869 Jan 11 08:48 rsyslog -rw-r--r-- 1 root root 501 Jan 11 08:48 smartmontools -rw-r--r-- 1 root root 306 Jan 11 08:48 snmpd
Nakonfigurujte Monit pro rsyslog pomocí šablony:
Pojďme například monitorovat službu apache2 pomocí předdefinované šablony poskytnuté společností Monit. Propojte šablony pomocí symbolu „/etc/monit/conf-enabled/ ” adresář.
$ sudo ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
Znovu načtěte službu Monit, aby se změny projevily.
$ sudo systemctl reload monit
Přístup k webovému rozhraní; najdete nové služby, které jsme nakonfigurovali pomocí šablony.
Otestujte monitorování:
Pojďme otestovat akci Monitu, když služba nebo proces bez důvodu zemře. Například zastavte „proftpd “démon.
$ sudo systemctl stop proftpd
Počkejte 60 sekund, Monit spustí „proftpd “servis automaticky. Totéž najdete v Monit logu.
$ sudo tailf /var/log/monit.log
Výstup:
[EDT Jun 29 01:35:43] error : 'proftpd' process is not running [EDT Jun 29 01:35:43] info : 'proftpd' trying to restart [EDT Jun 29 01:35:43] info : 'proftpd' start: '/etc/init.d/proftpd start'
To je vše. Úspěšně jsme nakonfigurovali Monit na Debian 9 / Ubuntu 16.04 . Uvítáme vaši zpětnou vazbu. Níže prosím zveřejněte své cenné komentáře.