Install Monit di Ubuntu - Server Monitor Gratis dan Powerfull!

Last updated on August 16, 2021

#setup-server #ubuntu

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 Server Monitoring

Monit Server Monitoring

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 TLSV1

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.