Pengantar
Monit adalah program bermanfaat yang secara otomatis memantau dan mengelola program server untuk memastikan bahwa program tersebut tidak hanya tetap online secara konsisten, tetapi juga ukuran file, checksum, atau izin selalu benar.
# yum install monit ( To install monit On RedHat/CentOS/Fedora/ ) # sudo apt-get install monit ( To install monit On Ubuntu/Debian )
Konfigurasi Monit Daemon
# vi /etc/monit.conf ( Configuration file in RedHat/CentOS/Fedora/ ) # vi /etc/monit/monitrc ( Configuration file in Ubuntu/Debian )
SEKARANG MENAMBAHKAN LAYANAN UNTUK MEMANTAU FILE KONFIGURASI
Buka file konfigurasi yaitu,
For RedHat/CentOS/Fedora (# vi /etc/monit.conf) For Ubuntu/Debian (# vi /etc/monit/monitrc)
Hapus semua baris dalam file konfigurasi dan tambahkan baris yang diberikan di bawah ini. ( setiap baris didefinisikan secara singkat di bawah ini )
Setel interval Daemon
Ini adalah interval (dalam detik) saat Monit menjalankan pengujiannya. Nilai yang Anda pilih akan bergantung pada berapa banyak tes yang Anda tentukan. Jika kami mengubah nilai ini, Anda harus memulai ulang Monit.
# check services at 30 seconds of intervals set daemon 30
Setel file log
# set logfile syslog facility log_daemon set logfile /var/log/monit.log
Periksa pengaturan penggunaan memori dan mulai ulang
##To check the memory usage and restart the services. check system localhost if memory usage > 93% then exec "/usr/local/bin/httpd-start"
Periksa layanan HTTPD dan mulai ulang
Disini layanan Httpd dipantau oleh monit yaitu ketika layanan tidak berjalan atau ketika loadavg lebih maka monit akan mengeksekusi layanan httpd untuk memulai kembali
#To check the Httpd service and restart the services. # Httpd check process httpd with pidfile /var/run/httpd/httpd.pid start program = "/usr/local/bin/httpd-start" stop program = "/usr/local/bin/httpd-kill" if loadavg (1min) greater than 10 for 1 cycles then restart
Periksa layanan mysqld dan mulai ulang
Disini layanan Mysqld dipantau oleh monit yaitu ketika layanan tidak berjalan atau ketika loadavg lebih maka monit akan mengeksekusi layanan Mysql untuk restart
#To check the mysql service and restart the services. # mysqld check process mysqld with pidfile /var/run/mysqld/mysqld.pid start program = "/etc/init.d/mysqld start" stop program = "/etc/init.d/mysqld stop" if memory usage > 70% for 1 cycles then restart if failed host 127.0.0.1 port 3306 then restart if loadavg (1min) greater than 5 for 1 cycles then restart
Dengan cara yang sama kita dapat menambahkan layanan apa pun yang perlu dipantau oleh monit dan restart
Setelah semua layanan ditambahkan pada file konfigurasi. file konfigurasinya seperti di bawah ini..
# check services at 2-minute intervals set daemon 30 # set logfile syslog facility log_daemon set logfile /var/log/monit.log ##To check the memory usage and restart the services. check system localhost if memory usage > 93% then exec "/usr/local/bin/httpd-start" #To check the Httpd service and restart the services. # Httpd check process httpd with pidfile /var/run/httpd/httpd.pid start program = "/usr/local/bin/httpd-start" stop program = "/usr/local/bin/httpd-kill" if loadavg (1min) greater than 10 for 1 cycles then restart #To check the mysql service and restart the services. # mysqld check process mysqld with pidfile /var/run/mysqld/mysqld.pid start program = "/etc/init.d/mysqld start" stop program = "/etc/init.d/mysqld stop" if memory usage > 70% for 1 cycles then restart if failed host 127.0.0.1 port 3306 then restart if loadavg (1min) greater than 5 for 1 cycles then restart
CATATAN:Karena kita telah mendefinisikan baris berikut dalam file konfigurasi
mulai program =“/usr/local/bin/httpd-start”
stop program =“/usr/local/bin/httpd-kill”
Kita perlu menambahkan skrip httpd-start, httpd-kill yaitu,
buat file dengan perintah berikut dan tambahkan baris berikut
vi /usr/local/bin/httpd-start
#!/bin/bash /usr/bin/killall -9 httpd; /usr/bin/killall -9 php-cgi; /usr/bin/ipcs |grep apache | /bin/cut -d" " -f2 | /usr/bin/xargs /usr/bin/ipcrm sem {}; /bin/sleep .5; /usr/sbin/apachectl start #/sbin/swapoff -a #/sbin/swapon -a exit 0;
sekarang simpan dan keluar menggunakan perintah
:wq!
Sekarang sama untuk skrip httpd-kill
buat file dengan perintah berikut dan tambahkan baris berikut
vi /usr/local/bin/httpd-kill
#!/bin/bash /usr/bin/killall -9 httpd; /usr/bin/ipcs |grep apache | /bin/cut -d" " -f2 | /usr/bin/xargs /usr/bin/ipcrm sem {}; /bin/sleep .5; exit 0;
dengan cara yang sama kita perlu mendefinisikan skrip Mysqld..
Setelah Anda mengonfigurasi semua program untuk pemantauan, periksa sintaks monit untuk kesalahan. Jika ditemukan kesalahan, perbaiki, tidak begitu sulit untuk mencari tahu apa yang salah. Menggunakan perintah di bawah ini
# monit -t
Jika file monit Config benar, Anda akan mendapatkan pesan seperti “Kontrol file sintaks OK“, atau jika Anda tidak melihat kesalahan,
Setelah memperbaiki semua kemungkinan kesalahan, Anda dapat mengetikkan perintah berikut untuk memulai layanan monit.
# /etc/init.d/monit start
Memverifikasi layanan Monit
Anda dapat memverifikasi bahwa layanan monit dimulai dengan memeriksa file log.
# tail -f /var/log/monit
Contoh keluaran log adalah sebagai berikut
[BDT Apr 3 03:06:04] info : Starting monit HTTP server at [localhost:2812] [BDT Apr 3 03:06:04] info : monit HTTP server started [BDT Apr 3 03:06:04] info : 'e2enetworks.com' Monit started [BDT Apr 3 03:06:04] error : 'nginx' process is not running [BDT Apr 3 03:06:04] info : 'nginx' trying to restart [BDT Apr 3 03:06:04] info : 'nginx' start: /etc/init.d/nginx