monit server monitoring

Memiliki atau mengelola sebuah server sangat diperlukan sebuah tools atau aplikasi untuk memantau resource yang digunakan dan up/down time supaya menghindari dari tidak bisa diaksesnya website atau aplikasi yang kita sajikan. Tools tersebut bisa berupa Monitoring, seperti tools yang akan kita bahas, yaitu Monit Server Monitoring.

Monit Server Monitoring

Monit adalah free open-source yang sangat berguna untuk memonitor dan mengatur proses pada server, file, directory, checksums, file system, permission, dan services seperti Apache, Nginx, MySQL, SSH, dan FTP secara otomatis. Tentu, dengan adanya tools ini beserta fitur yang disediakan sangat membantu para System Administrator. Web Interface Monit juga sudah user friendly.

Cara Kerja Monit

Monit mempunyai kemampuan untuk memulai proses jika ada yang tidak berjalan, melakukan restart proses jika ada yang tidak merespon dan menghentikan proses jika resource-nya terlalu tinggi. Selain itu, bisa juga digunakan untuk memonitor directories, files, dan filesystem untuk merubah ukuran file, timestamp dan checksum. Tools ini juga memiliki log file dan alerts mengenai critical error dan recovery status yang terjadi.

Berikut akan kita bahas mengenai Cara Instalasi Monit Server Monitoring di CentOS 7, yang sebenarnya bisa diinstal juga pada RHEL, Fedora, Ubuntu, Linux Mint, maupun Debian. 

Instalasi

Step 1 – Install Monit

Login sebagai root dan jalankan command di bawah ini.

$ yum install epel-release -y
$ yum update -y
$ yum install monit -y

Step 2 – Konfigurasi Monit

Tools ini mudah untuk dikonfigurasi, defaultnya memonitor services yang berjalan setia 2 menit dan menyimpan logs-nya ke /var/log/monit/

Monit berjalan di port 2812 menggunakan web server, untuk mengaktifkan interface webnya kamu perlu rubah konfigurasi filenya. Konfigurasinya ada /etc/monitrc 

$ nano /etc/monit.conf

Ubah file konfigurasinya, masukkan IP Address atau nama domain server dan IP yang dapat dikoneksikan ke server. (x.x.x.x untuk IP Server, y.y.y.y untuk IP yang di-allow untuk connect ke server). 

Kalau ingin siapapun bisa connect, comment pada allow y.y.y.y (Contoh: #allow y.y.y.y #allow localhost to connet to the server and).

Sebelum:

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'

Sesudah:

set httpd port 2812 and
    use address x.x.x.x  # only accept connection from localhost
    allow y.y.y.y.        # allow localhost to connect to the server and
    allow admin:monit    # require user 'admin' with password 'monit’

Step 3 – Restart Services

Setelah melakukan perubahan konfigurasi, restart services-nya.

$ service monit restart

Step 4 – Tambahkan Port di Firewall

Karena kami menggunakan CSF Firewall, maka perlu menambahkan port 2812 ke dalam Allow Incoming TCP Ports & Allow Outgoing TCP Ports, karena port tersebut bukan port default sehingga perlu di-allow secara manual.

$ nano /etc/csf/csf.conf
# Allow incoming TCP ports

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2812"

# Allow outgoing TCP ports

TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995,2812"
$ csf -r

Step 5 – Akses Monitoring Toolsnya.

Tampilan di atas adalah secara default, jika ingin menambahkan services lain untuk di monitoring maka perlu ikuti intruksi di bawah ini.

Menambahkan Services Monitoring

Edit konfigurasi untuk menambahkan services dengan command di bawah ini.

$ nano /etc/monitrc

Kalau memakai Web Server Apache:

#Apache Services

check process apache with pidfile /var/run/httpd.pid
Group apache
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
If failed host 127.0.0.1 port 80 protocol http then restart
If 5 restarts within 5 cycles then timeout

Kalau memakai Web Server Apache2:

#Apache2 Services

check process apache with pidfile /var/run/apache2.pid
start program = "/etc/init.d/apache2 start” with timeout 60 seconds
stop program = "/etc/init.d/apache2 stop"

Kalau memakai Web Server Nginx:

#Nginx Services

check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
#MySQL Services

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysql stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout
#SSHID Services

check process sshd with pidfile /var/run/sshd.pid
start program = "/etc/init.d/sshd start"
stop program = "/etc/init.d/sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

Jika sudah, simpan dan exit file. Cek file syntax menggunakan command berikut.

$ monit -t
Control file syntax OK

Jika sudah seperti ini maka instalasi Monit Monitoring dan penambahan services untuk dimonitor telah berhasil.

Simpulan

Script start program perlu disesuaikan dengan keadaan services, karena ada beberapa services yang tidak ada di initial script dan Monit Server Monitoring ini berguna untuk memantau services yang sedang berjalan sehingga kamu dapat melakukan perbaikan bila ada services yang down. Selain Monit Monitoring, kamu juga bisa menggunakan beberapa tools monitoring lain yang bisa kamu simak pada artikel Server Monitoring Tools Gratis Terbaik.

Tapi, ada website yang up-time-nya dijamin 100%, cek di sini untuk informasi lebih lanjut. Demikian artikel ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb. Semoga artikel ini membantu!

Daftar dan tonton webinar Dewatalks