Monit adalah alat pemantau proses sumber terbuka untuk sistem operasi Linux yang membantu Anda memantau proses sistem menggunakan browser web dan juga kapan pun diperlukan secara otomatis melakukan pemeliharaan atau perbaikan proses tertentu sedemikian rupa sehingga dapat dibawa kembali online.
Monit juga dapat digunakan untuk mengelola dan memantau program, file, direktori, dan perangkat untuk perubahan cap waktu, perubahan checksum, atau perubahan ukuran; tidak terbatas untuk melakukan berbagai pemeriksaan jaringan TCP/IP, pemeriksaan protokol, dan dapat menggunakan SSL untuk pemeriksaan tersebut.
Itu masuk ke file lognya dan memberi tahu pengguna melalui pesan yang dapat disesuaikan.
Panduan ini akan membantu Anda menginstal Monit di CentOS 7 / RHEL 7.
Instal Monit
Aktifkan repositori EPEL untuk mengunduh versi terbaru Monit.
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Instal Monit menggunakan perintah YUM.
yum -y install monit
Mulai monit dengan menggunakan perintah berikut.
monit
Keluaran:
Starting Monit 5.25.1 daemon with http interface at [localhost]:2812
Periksa status monit.
monit status
Keluaran:
Monit 5.25.1 uptime: 0m System 'server.itzgeek.local' status OK monitoring status Monitored monitoring mode active on reboot start load average [0.01] [0.05] [0.04] cpu 0.0%us 0.0%sy 0.0%wa memory usage 170.2 MB [29.0%] swap usage 0 B [0.0%] uptime 4m boot time Sun, 09 Feb 2020 04:55:42 data collected Sun, 09 Feb 2020 05:00:00
Konfigurasi Monit
File konfigurasi utama Monit adalah /etc/monitrc. Kami akan membuat beberapa perubahan pada file konfigurasi Monit untuk kebutuhan kami.
vi /etc/monitrc
Secara default, monit diatur untuk memeriksa layanan pada interval 30 detik. Pengaturan ini dapat diubah dengan mengubah baris di bawah ini.
set daemon 30
Lansiran dapat dikonfigurasi dengan.
set mailserver mx.itzgeek.local port 25
Template peringatan dapat ditemukan di file konfigurasi itu sendiri. Lihat ekstra di bagian bawah artikel ini.
Setelan log dapat diubah dengan menggunakan file berikut.
set log /var/log/monit
Aktifkan Antarmuka Web Monit
Monit juga menyediakan antarmuka web untuk memantau dan mengelola layanan yang dikonfigurasi. Secara default, monit mendengarkan pada port 2812, tetapi perlu diatur.
Edit file konfigurasi monit.
vi /etc/monitrc
Cari port httpd 2812, ubah entri berikut.
DARI:
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' #with ssl { # enable SSL/TLS and set path to server certificate # pemfile: /etc/ssl/certs/monit.pem #}
KEPADA:
set httpd port 2812 and use address 0.0.0.0 # only accept connection from localhost allow 0.0.0.0/0 # allow localhost to connect to the server and allow admin:monit # require user 'admin' with password 'monit' #with ssl { # enable SSL/TLS and set path to server certificate # pemfile: /etc/ssl/certs/monit.pem #}
Dari pengaturan di atas, monit akan mendengarkan pada 2812 dan pengguna admin akan dapat mengakses antarmuka web dari jaringan mana pun.
Muat ulang monit.
systemctl restart monit
Auto-start Monit saat start-up.
systemctl enable monit
Konfigurasikan firewall untuk mengizinkan akses ke antarmuka web Monit, yang berjalan pada port 2812.
firewall-cmd --permanent --add-port=2812/tcp firewall-cmd --reload
Akses Antarmuka Web Monit
Buka browser web Anda dan buka URL di bawah ini.
http://your.ip.addr.ess:2812ATAU
http://your.fq.dn:2812Gunakan nama pengguna dan kata sandi yang disebutkan di langkah sebelumnya.
Halaman beranda Monit akan terlihat seperti di bawah ini.
Konfigurasikan Layanan Untuk Pemantauan Dengan Monit
Setelah antarmuka web siap, kita dapat mulai menyiapkan layanan yang ingin kita pantau.
Anda dapat menempatkan file konfigurasi pemantauan layanan di bawah direktori /etc/monit.d/.
Konfigurasi untuk layanan SSH.
vi /etc/monit.d/sshdmonitor
Gunakan informasi di bawah ini.
check process sshd with pidfile /var/run/sshd.pid start program "/usr/bin/systemctl start sshd.service" stop program "/usr/bin/systemctl stop sshd.service" if failed port 22 protocol ssh then restart
Konfigurasikan layanan untuk syslog.
vi /etc/monit.d/syslogmonitor
Gunakan informasi di bawah ini.
check process syslogd with pidfile /var/run/syslogd.pid start program = "/usr/bin/systemctl start rsyslog.service" stop program = "/usr/bin/systemctl stop rsyslog.service"
Layanan konfigurasi untuk HTTP.
vi /etc/monit.d/httpdmonitor
Gunakan informasi di bawah ini.
check process httpd with pidfile /var/run/httpd/httpd.pid start program "/usr/bin/systemctl start httpd.service" stop program "/usr/bin/systemctl stop httpd.service" if failed port 80 protocol http then restart
Setelah dikonfigurasi, uji sintaks monit
monit -t
Keluaran:
Control file syntax OK
Muat ulang, untuk menerapkan perubahan.
monit reload
Akses antarmuka web. Anda akan melihat layanan baru yang baru saja kami konfigurasikan.
Mengklik layanan akan memberi Anda informasi lebih lanjut tentang layanan tertentu. Di sini, Anda dapat melakukan tindakan seperti memulai, menghentikan, dan memulai ulang layanan, dan juga menonaktifkan pemantauan.
Pengujian Pemantauan
Sekarang hentikan layanan HTTP untuk pengujian kami.
systemctl stop httpd
Tunggu selama 30 detik, monit akan memulai syslog secara otomatis. Anda dapat menemukannya di log monit.
cat /var/log/monit.log
Keluaran:
[UTC Feb 9 05:18:00] error : 'httpd' process is not running [UTC Feb 9 05:18:00] info : 'httpd' trying to restart [UTC Feb 9 05:18:00] info : 'httpd' start: '/usr/bin/systemctl start httpd.service' [UTC Feb 9 05:18:31] info : 'httpd' process is running with pid 1959
Peringatan Email dengan Monit
Ada template peringatan standar yang tersedia di Monit untuk mengingatkan admin sistem saat layanan tertentu gagal.
Edit file konfigurasi.
vi /etc/monitrc
Anda dapat memperbarui template peringatan di bawah ini sesuai kebutuhan Anda.
set mail-format { from: Monit <monit@$HOST> subject: monit alert -- $EVENT $SERVICE message: $EVENT Service $SERVICE Date: $DATE Action: $ACTION Host: $HOST Description: $DESCRIPTION Your faithful employee, Monit @ ITzGeek }
Setel alamat penerima di sini. Catatan:Anda akan menerima peringatan tentang semua jenis tindakan
set alert root@localhost
Jika Anda tidak ingin memberi tahu Anda tentang layanan yang dimulai ulang oleh pengguna, tambahkan konfigurasi di bawah ini.
set alert root@localhost not on { instance, action }
Terakhir, atur konfigurasi server surat sehingga Anda dapat menerima surat. Di sini, saya menggunakan relai lokal sehingga kami dapat membaca peringatan email melalui terminal untuk memverifikasi pengujian.
set mailserver localhost
Muat ulang layanan.
monit reload
Contoh Peringatan
Monit telah mengirim email ke pengguna root tentang proses HTTP.
cat /var/spool/mail/root
Email:
From [email protected] Sun Feb 9 05:22:48 2020 Return-Path: <[email protected]> X-Original-To: root@localhost Delivered-To: [email protected] Received: from server.itzgeek.local (localhost [IPv6:::1]) by server.itzgeek.local (Postfix) with ESMTP id 670E21082B34 for <root@localhost>; Sun, 9 Feb 2020 05:22:48 +0000 (UTC) From: "Monit" <[email protected]> To: [email protected] Subject: monit alert -- Does not exist httpd Date: Sun, 09 Feb 2020 05:22:48 GMT X-Mailer: Monit 5.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-Id: <[email protected]> Does not exist Service httpd Date: Sun, 09 Feb 2020 05:22:48 Action: restart Host: server.itzgeek.local Description: process is not running Your faithful employee, Monit @ ITzGeek From [email protected] Sun Feb 9 05:23:18 2020 Return-Path: <[email protected]> X-Original-To: root@localhost Delivered-To: [email protected] Received: from server.itzgeek.local (localhost [IPv6:::1]) by server.itzgeek.local (Postfix) with ESMTP id B22AF1082B37 for <root@localhost>; Sun, 9 Feb 2020 05:23:18 +0000 (UTC) From: "Monit" <[email protected]> To: [email protected] Subject: monit alert -- Exists httpd Date: Sun, 09 Feb 2020 05:23:18 GMT X-Mailer: Monit 5.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-Id: <[email protected]> Exists Service httpd Date: Sun, 09 Feb 2020 05:23:18 Action: alert Host: server.itzgeek.local Description: process is running with pid 2139 Your faithful employee, Monit @ ITzGeek
ATAU
Gunakan klien email Mutt (yum install -y mutt).
Kesimpulan
Itu saja. Kami telah berhasil mengonfigurasi Monit di CentOS 7 / RHEL 7.