Monit je bezplatný a open source nástroj pro monitorování procesů, který lze použít k monitorování systémových procesů pomocí webového prohlížeče a příkazového řádku. Používá se také pro sledování souborů, adresářů a zařízení pro změny velikosti a změny oprávnění. Pokud dojde k výpadku, Monit automaticky opraví konkrétní proces. Monit je také schopen monitorovat většinu služeb, jako je Apache, Sendmail, Nginx, FTP, SSH a MySQL na systému založeném na Linuxu. Pomocí Monitu můžete monitorovat TCP/IP port, protokoly a ping vzdálených hostitelů. Monit má schopnost zastavit specifický proces, který využívá velké zdroje. Monit sledujte svůj server a posílejte upozornění na jakékoli kritické chybové stavy a stav obnovy.
Funkce
- Automatické spuštění, zastavení a ukončení konkrétního procesu.
- Uživatelsky přívětivé webové rozhraní pro sledování stavu.
- Upozornit e-mailem na jakýkoli kritický stav.
- Zkontrolujte zatížení systému, využití procesoru, využití paměti RAM, disk, změny velikosti souboru, změny oprávnění atd.
- Monitorujte různé protokoly HTTP, FTP, SSH, POP, IMAP, LDAP, IMAP a SMTM.
- Protokolování přes syslog nebo vlastní logfile.
V tomto tutoriálu vysvětlíme, jak nastavit a používat Monit na Debianu 9.
Požadavky
- Na vašem systému je nainstalován nový server Debian 9.
- heslo uživatele root je nastaveno na vašem serveru.
1. Aktualizujte systém
Začněme aktualizací systému na nejnovější stabilní verzi. Můžete jej aktualizovat pomocí následujícího příkazu:
apt-get update -y
apt-get upgrade -y
Jakmile je váš systém aktualizován, restartujte systém, aby se tyto změny projevily pomocí následujícího příkazu:
reboot
Po restartování se přihlaste jako uživatel root a přejděte k dalšímu kroku.
2. Instalace Monit
Ve výchozím nastavení je Monit k dispozici v úložišti Ubuntu. Můžete jej snadno nainstalovat spuštěním následujícího příkazu:
apt-get install monit -y
Jakmile je Monit nainstalován, spusťte službu Monit a povolte její spuštění při spuštění spuštěním následujícího příkazu:
systemctl start monit
systemctl enable monit
Stav služby Monit můžete kdykoli zkontrolovat spuštěním následujícího příkazu:
systemctl status monit
3 Konfigurace Monit
Výchozí konfigurační soubor Monit monitrc je umístěn v adresáři /etc/monit/ a další konfigurační soubory specifické pro procesy a server jsou umístěny v adresáři /etc/monit/conf-available/. Monit přichází s vestavěným webovým rozhraním, ale ve výchozím nastavení je zakázáno. Můžete to povolit úpravou souboru /etc/monit/monitrc následovně:
nano /etc/monit/monitrc
Změňte řádky z:
# 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'
Po dokončení uložte a zavřete soubor a poté restartujte službu monit, aby se tyto změny aplikovaly pomocí následujícího příkazu:
systemctl restart monit
Stav služby Monit můžete zkontrolovat pomocí následujícího příkazu:
netstat -ant | grep :2812
Měli byste vidět následující výstup:
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 1615/monit tcp6 0 0 :::2812 :::* LISTEN 1615/monit
4 Přístup k webovému rozhraní Monit
Do webového rozhraní Monit se dostanete pomocí adresy URL http://192.168.0.227:2812, poté zadejte uživatelské jméno admin a heslo monit . Ovládací panel Monit byste měli vidět následovně:
Stav Minitu můžete zobrazit pomocí následujícího příkazu:
monit status
Měli byste vidět následující výstup:
System 'localhost' status Running monitoring status Monitored load average [0.68] [0.78] [0.45] cpu 0.0%us 0.0%sy 0.0%wa memory usage 294.1 MB [14.7%] swap usage 0 B [0.0%] data collected Mon, 07 Aug 2017 20:12:36
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
5 Přidání monitorovacích služeb
Jakmile je webové rozhraní Monit nakonfigurováno, budete muset přidat služby, které chcete monitorovat.
Zde uvedeme příklad pro monitorování některých služeb, jako jsou Apache, Proftpd a Rsyslog.
Konfigurovat Monit pro službu Apache
Ve výchozím nastavení Monit přichází s předdefinovanou šablonou pro některé procesy a služby. Tyto šablony najdete v adresáři /etc/monit/conf-available/. Ve výchozím nastavení je šablona pro Apache dostupná v Monitu. Takže jej budete muset pouze povolit. Můžete jej povolit spuštěním následujícího příkazu:
ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
Poté restartujte monit servcie, abyste tyto změny aplikovali pomocí následujícího příkazu:
systemctl restart monit
Konfigurovat Monit pro službu Rsyslog
Nejprve povolte šablonu Rsyslog pomocí následujícího příkazu:
ln -s /etc/monit/conf-available/rsyslog /etc/monit/conf-enabled/
Dále restartujte službu monit, aby se tyto změny aplikovaly pomocí následujícího příkazu:
systemctl restart monit
Konfigurovat Monit pro službu Proftpd
Šablona pro Proftpd není k dispozici s Monit. Takže budete muset vytvořit konfigurační soubor pro Proftpd. Můžete to udělat vytvořením souboru proftpd v adresáři /etc/monit/conf-available/ následovně:
nano /etc/monit/conf-available/proftpd
Přidejte následující řádky:
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
Po dokončení uložte a zavřete soubor, poté povolte konfigurační soubor pomocí následujícího příkazu:
ln -s /etc/monit/conf-available/proftpd /etc/monit/conf-enabled
Dále zkontrolujte konfigurační soubor, zda neobsahuje nějakou chybu syntaxe pomocí následujícího příkazu
monit -t
Nakonec restartujte službu monit a použijte tyto změny pomocí následujícího příkazu:
systemctl restart monit
Jakmile nakonfigurujete všechny požadované služby, přejděte na webové rozhraní a sledujte všechny služby, jak je uvedeno níže:
Poté klikněte na službu apache a zobrazí se podrobné informace o apache:
6 Monitorování monitorování prostřednictvím příkazového řádku
Monit můžete také sledovat z příkazového řádku. Rychlé shrnutí monit můžete zobrazit spuštěním následujícího příkazu:
monit summary
Měli byste vidět následující výstup:
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' Initializing - start pending File 'rsyslogd_bin' Accessible File 'rsyslogd_rc' Accessible File 'rsyslog_file' Does not exist Process 'proftpd' Running Process 'apache' Execution failed File 'apache_bin' Accessible File 'apache_rc' Accessible System 'localhost' Running
Stav všech služeb můžete také zobrazit pomocí následujícího příkazu:
monit status
Měli byste vidět následující výstup:
The Monit daemon 5.16 uptime: 0m Process 'rsyslogd' status Initializing - start pending monitoring status Initializing data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 585.3 kB timestamp Tue, 25 Oct 2016 11:38:40 checksum d71f3d1c58df065e3aac1e2c566a6436 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslogd_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 2.7 kB timestamp Tue, 25 Oct 2016 11:48:29 checksum a1ef1bb01ba370040d705c92fc09e92e (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'rsyslog_file' status Does not exist monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:18 Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 3m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 10.737 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:41:18 Process 'apache' status Execution failed monitoring status Monitored data collected Mon, 07 Aug 2017 20:41:48 File 'apache_bin' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 647.0 kB timestamp Sat, 29 Jul 2017 22:19:09 checksum ef2a678bdcd791948ceabc3013d9a2c0 (MD5) data collected Mon, 07 Aug 2017 20:41:18 File 'apache_rc' status Accessible monitoring status Monitored permission 755 uid 0 gid 0 size 7.9 kB timestamp Mon, 07 Aug 2017 20:40:33 checksum 744ef9ca584493299c353e2251cbf993 (MD5) data collected Mon, 07 Aug 2017 20:41:18 System 'localhost' status Running monitoring status Monitored load average [0.96] [0.60] [0.46] cpu 0.0%us 0.0%sy 0.0%wa memory usage 266.4 MB [13.3%] swap usage 2.1 MB [0.4%] data collected Mon, 07 Aug 2017 20:41:18
Chcete-li zobrazit podrobné informace o službě Proftpd, spusťte následující příkaz:
monit status proftpd
Měli byste vidět následující výstup:
The Monit daemon 5.16 uptime: 2m Process 'proftpd' status Running monitoring status Monitored pid 4915 parent pid 1 uid 0 effective uid 119 gid 65534 uptime 6m threads 1 children 0 memory 3.6 MB memory total 3.6 MB memory percent 0.2% memory percent total 0.2% cpu percent 0.0% cpu percent total 0.0% port response time 7.945 ms to [localhost]:21 type TCP/IP protocol FTP data collected Mon, 07 Aug 2017 20:43:49
Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali Monit na vašem serveru Debian 9.