Berkenalan dengan Monit
Monit adalah program pemantauan server yang dapat memeriksa proses yang berjalan di sistem Anda untuk memastikan bahwa proses tersebut selalu online dan beroperasi dalam batas CPU dan memori yang wajar.
Monit juga dilengkapi dengan interface web untuk memantau sistem Anda. Dalam settingan default dapat diakses pada port 2812.
Apa yang Monit Lakukan?
Pada dasarnya, Monit akan memeriksa proses yang diberikan setiap dua menit (secara default) untuk melihat bagaimana kinerjanya. Monit menyimpan log penggunaan sumber daya, dan dapat mengambil tindakan jika terjadi kesalahan.
Monit juga memiliki fitur meluncurkan kembali proses yang macet, dan memulai kembali proses yang menggunakan terlalu banyak sumber daya.
Monit mendefinisikan perilakunya sepenuhnya melalui file konfigurasi. Berikut konfigurasi default untuk MySQL sebagai contoh:
check process mysql
with pidfile /var/run/mysqld/mysqld.pid
start program = "/usr/sbin/service mysql start" with timeout 60 seconds
stop program = "/usr/sbin/service mysql stop" with timeout 60 seconds
if totalmem > 400 MB for 5 cycles then alert
if totalmem > 600 MB for 5 cycles then restart
if cpu > 50% for 5 cycles then alert
if cpu > 90% for 5 cycles then restart
if 3 restarts within 5 cycles then timeout
Monit diatas dikonfigurasi untuk memantau proses MySQL yang sedang berjalan.
Jika MySQL service terpantau down, monit dapat memulainya lagi menggunakan start program =
berdasar konfig.
Jika MySQL mulai menggunakan terlalu banyak memakan resource, MySQL dapat direstart secara otomatis, meskipun Anda akan diperingatkan melalui email terlebih dahulu.
Monit juga dapat dikonfigurasi untuk memantau sistem Anda secara keseluruhan, dan dapat memperingatkan Anda jika server Anda mengalami beban yang tidak biasa.
Install Monit (Ubuntu)
Install monit berdasar distro package manager, untuk Debian based system seperti Ubuntu, bisa menggunakan perintah berikut:
sudo apt install monit
Setelah menginstall monit kamu perlu melakukan konfigurasi, file konfigurasi biasanya berada di path berikut /etc/monit/monitrc
, silakan edit dengan editor pilihan anda.
Setting Monit
Berikut dibawah ini adalah beberapa contoh konfigurasi untuk memantau dan mengatur beberapa service.
Monitoring Nginx (Web Server)
check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if totalmem > 600 MB for 5 cycles then restart
if cpu > 90% for 5 cycles then restart
if 3 restarts within 5 cycles then timeout
Monitoring PHP-FPM
check process phpfpm with pidfile /var/run/php/php7.4-fpm.pid
start program = "/bin/systemctl start php7.4-fpm"
stop program = "/bin/systemctl stop php7.4-fpm"
if cpu > 50% for 2 cycles then alert
if cpu > 60% for 5 cycles then restart
if memory > 800 MB then alert
Monitoring mysql/mariadb (Database Server)
check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/bin/systemctl start mysqld"
stop program = "/bin/systemctl stop mysqld"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
if cpu > 80% for 5 cycles then alert
Jika sudah selesai melakukan konfigurasi kami perlu me-reload kembali monit server.
sudo monit reload
Setting Alert Monit
Dibawah ini contoh konfigurasi email alert yang dikirim melalui SMTP.
set alert youremail@gmail.com
set mailserver smpt-host port 587
username "smtp-username" password "smtp-password"
using tls
set mail-format { from: Monit Server <monit@smtp-email.com> }
Silakan setting sesuai dengan credential SMTP yang kamu miliki.
Demikian cara install Monit dan beberapa konfigurasinya, semoga bermanfaat.
About The Author
Gege Riyadi
Founder Gegeriyadi.com, layanan yang sudah 10 tahun bergerak di bidang Web Development Services yang juga intens update seputar SEO dan juga Web Optimization... [Read full bio]