Pada kesempatan kali ini saya akan posting tentang Monitoring server dengan Monit di Ubuntu 16.04 Server.tapi sebelumnya saya akan sedikit menjelaskan apa itu Monit ?
Monit adalah program bermanfaat yang secara otomatis memonitor dan mengelola program server untuk memastikan bahwa mereka tidak hanya tetap online secara konsisten, tapi itu ukuran file, checksum, atau izin selalu benar. Selain itu Monit dilengkapi dengan antarmuka web dasar melalui mana semua proses dapat diatur.
Monit adalah program bermanfaat yang secara otomatis memonitor dan mengelola program server untuk memastikan bahwa mereka tidak hanya tetap online secara konsisten, tapi itu ukuran file, checksum, atau izin selalu benar. Selain itu Monit dilengkapi dengan antarmuka web dasar melalui mana semua proses dapat diatur.
Monit memeriksa ketersediaan layanan seperti Apache, MySQL, Postfix dan mengambil tindakan yang tepat seperti restart jika menemukan layanan tidak berperilaku seperti yang diharapkan.
Untuk menginstall Monit dapat mengikuti Tutorial berikut ini :
1. Untuk menginstall Monit perlu menjalankan perintah berikut ini :
2. Sekarang kita harus mengedit / etc / monit / monitrc.
Namun, dalam kasus ini saya ingin memantau proftpd, sshd, mysql, apache, dan postfix, saya ingin mengaktifkan antarmuka web Monit pada port 2812, saya ingin antarmuka https web, saya ingin login ke antarmuka web dengan username dan password yang saya buat, dan saya ingin Monit untuk mengirim email ke root @ localhost.
Jalankan perintah berikut ini :
3. Kemudian edit /etc/monit/monitrc
4. untuk mengakses file /monit/token yang /var/www/html/monit/token karena situs web saya akar dokumennya adalah /var/www/html. Jika Monit tidak berhasil itu berarti Apache tidak berjalan, dan Monit akan restart. Sekarang kita harus membuat file /var/www/html/monit/token dan menulis beberapa string acak ke dalamnya:
jalankan perintah berikut ini
5. Selanjutnya, kita membuat pem cert (/var/certs/monit.pem) kita perlu untuk antarmuka web Monit SSL-dienkripsi:
jalankan perintah berikut
6. Kita membutuhkan file konfigurasi OpenSSL untuk membuat sertifikat.
edit file monit.cnf dengan perintah berikut :
7. Sekarang kita membuat sertifikat seperti berikut dengan perintah
8. Terakhir kita restart Monit
9. Buka Web browser arahkan ke arahkan browser Anda ke
https://IP server:2812 atau https://domain:2812 misalkan https://192.168.22.2:2812
Muncul halaman seperti berikut
Klik Advanced --> Add Exception --> Confirm Security Exception
Login dengan Username admin dan Password howtoforge, dan Anda akan melihat antarmuka web Monit.
Tampilan Monit
10. Untuk mendapatkan status Monit pada shell, jalankan "monit Status" dengan perintah:
Untuk menginstall Monit dapat mengikuti Tutorial berikut ini :
1. Untuk menginstall Monit perlu menjalankan perintah berikut ini :
# apt-get -y install monit
2. Sekarang kita harus mengedit / etc / monit / monitrc.
Namun, dalam kasus ini saya ingin memantau proftpd, sshd, mysql, apache, dan postfix, saya ingin mengaktifkan antarmuka web Monit pada port 2812, saya ingin antarmuka https web, saya ingin login ke antarmuka web dengan username dan password yang saya buat, dan saya ingin Monit untuk mengirim email ke root @ localhost.
Jalankan perintah berikut ini :
# cp /etc/monit/monitrc /etc/monit/monitrc_orig
# cat /dev/null > /etc/monit/monitrc
3. Kemudian edit /etc/monit/monitrc
# nano /etc/monit/monitrcTambahkan file berikut ini kedalam /etc/monit/monitrc
set daemon 60
set logfile syslog facility log_daemon
set mailserver localhost
set mail-format { from: monit@domain server anda }
set alert root@localhost
set httpd port 2812 and
SSL ENABLE
PEMFILE /var/certs/monit.pem
allow admin:howtoforge
check process sshd with pidfile /var/run/sshd.pid
start program "/usr/sbin/service ssh start"
stop program "/usr/sbin/service ssh stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout
check process apache with pidfile /var/run/apache2/apache2.pid
group www
start program = "/usr/sbin/service apache2 start"
stop program = "/usr/sbin/service apache2 stop"
if failed host localhost port 80 protocol http
and request "/monit/token" then restart
if cpu is greater than 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if totalmem > 500 MB for 5 cycles then restart
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
if 3 restarts within 5 cycles then timeout
#check process mysql with pidfile /var/run/mysqld/mysqld.pid
# group database
# start program = "/usr/sbin/service mysql start"
# stop program = "/usr/sbin/service mysql stop"
# if failed host 127.0.0.1 port 3306 then restart
# if 5 restarts within 5 cycles then timeout
#check process proftpd with pidfile /var/run/proftpd.pid
# start program = "/usr/sbin/service proftpd start"
# stop program = "/usr/sbin/service proftpd stop"
# if failed port 21 protocol ftp then restart
# if 5 restarts within 5 cycles then timeout
#
#check process postfix with pidfile /var/spool/postfix/pid/master.pid
# group mail
# start program = "/usr/sbin/service postfix start"
# stop program = "/usr/sbin/service postfix stop"
# if failed port 25 protocol smtp then restart
# if 5 restarts within 5 cycles then timeout
#
#check process nginx with pidfile /var/run/nginx.pid
# start program = "/usr/sbin/service nginx start"
# stop program = "/usr/sbin/service nginx stop"
# if failed host 127.0.0.1 port 80 then restart
#
#check process memcached with pidfile /var/run/memcached.pid
# start program = "/usr/sbin/service memcached start"
# stop program = "/usr/sbin/service memcached stop"
# if failed host 127.0.0.1 port 11211 then restart
#
#check process pureftpd with pidfile /var/run/pure-ftpd/pure-ftpd.pid
# start program = "/usr/sbin/service pure-ftpd-mysql start"
# stop program = "/usr/sbin/service pure-ftpd-mysql stop"
# if failed port 21 protocol ftp then restart
# if 5 restarts within 5 cycles then timeout
#
#check process named with pidfile /var/run/named/named.pid
# start program = "/usr/sbin/service bind9 start"
# stop program = "/usr/sbin/service bind9 stop"
# if failed host 127.0.0.1 port 53 type tcp protocol dns then restart
# if failed host 127.0.0.1 port 53 type udp protocol dns then restart
# if 5 restarts within 5 cycles then timeout
#
#check process ntpd with pidfile /var/run/ntpd.pid
# start program = "/usr/sbin/service ntp start"
# stop program = "/usr/sbin/service ntp stop"
# if failed host 127.0.0.1 port 123 type udp then restart
# if 5 restarts within 5 cycles then timeout
#
#check process mailman with pidfile /var/run/mailman/mailman.pid
# group mail
# start program = "/usr/sbin/service mailman start"
# stop program = "/usr/sbin/service mailman stop"
#
#check process amavisd with pidfile /var/run/amavis/amavisd.pid
# group mail
# start program = "/usr/sbin/service amavis start"
# stop program = "/usr/sbin/service amavis stop"
# if failed port 10024 protocol smtp then restart
# if 5 restarts within 5 cycles then timeout
#
#check process courier-imap with pidfile /var/run/courier/imapd.pid
# group mail
# start program = "/usr/sbin/service courier-imap start"
# stop program = "/usr/sbin/service courier-imap stop"
# if failed host localhost port 143 type tcp protocol imap then restart
# if 5 restarts within 5 cycles then timeout
#
#check process courier-imap-ssl with pidfile /var/run/courier/imapd-ssl.pid
# group mail
# start program = "/usr/sbin/service courier-imap-ssl start"
# stop program = "/usr/sbin/service courier-imap-ssl stop"
# if failed host localhost port 993 type tcpssl sslauto protocol imap then restart
# if 5 restarts within 5 cycles then timeout
#
#check process courier-pop3 with pidfile /var/run/courier/pop3d.pid
# group mail
# start program = "/usr/sbin/service courier-pop start"
# stop program = "/usr/sbin/service courier-pop stop"
# if failed host localhost port 110 type tcp protocol pop then restart
# if 5 restarts within 5 cycles then timeout
#
#check process courier-pop3-ssl with pidfile /var/run/courier/pop3d-ssl.pid
# group mail
# start program = "/usr/sbin/service courier-pop-ssl start"
# stop program = "/usr/sbin/service courier-pop-ssl stop"
# if failed host localhost port 995 type tcpssl sslauto protocol pop then restart
# if 5 restarts within 5 cycles then timeout
#
#check process dovecot with pidfile /var/run/dovecot/master.pid
# group mail
# start program = "/usr/sbin/service dovecot start"
# stop program = "/usr/sbin/service dovecot stop"
# if failed host localhost port 143 type tcp protocol imap then restart
# if 5 restarts within 5 cycles then timeout
sehingga file saya terlihat seperti ini (saya telah menambahkan contoh untuk daemon lain untuk konfigurasi sehingga Anda dapat menyesuaikan file dengan kebutuhan Anda
untuk menyimpan Tekan ctrl+X --> Y --> Enter
4. untuk mengakses file /monit/token yang /var/www/html/monit/token karena situs web saya akar dokumennya adalah /var/www/html. Jika Monit tidak berhasil itu berarti Apache tidak berjalan, dan Monit akan restart. Sekarang kita harus membuat file /var/www/html/monit/token dan menulis beberapa string acak ke dalamnya:
jalankan perintah berikut ini
# mkdir /var/www/html/monit
# echo "hello" > /var/www/html/monit/token
5. Selanjutnya, kita membuat pem cert (/var/certs/monit.pem) kita perlu untuk antarmuka web Monit SSL-dienkripsi:
jalankan perintah berikut
# mkdir /var/certs
# cd /var/certs
6. Kita membutuhkan file konfigurasi OpenSSL untuk membuat sertifikat.
edit file monit.cnf dengan perintah berikut :
# nano /var/certs/monit.cnf
Kemudian masukkan baris berikut kedalam /var/certs/monit.cnf
# create RSA certs - Server RANDFILE = ./openssl.rnd [ req ] default_bits = 2048 encrypt_key = yes distinguished_name = req_dn x509_extensions = cert_type [ req_dn ] countryName = Country Name (2 letter code) countryName_default = MO stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = Monitoria localityName = Locality Name (eg, city) localityName_default = Monittown organizationName = Organization Name (eg, company) organizationName_default = Monit Inc. organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = Dept. of Monitoring Technologies commonName = Common Name (FQDN of your server) commonName_default = server.monit.mo emailAddress = Email Address emailAddress_default = root@monit.mo [ cert_type ] nsCertType = server
7. Sekarang kita membuat sertifikat seperti berikut dengan perintah
# openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pem
# openssl gendh 1024 >> /var/certs/monit.pem
# openssl x509 -subject -dates -fingerprint -noout -in /var/certs/monit.pemKemudian beri hak akses dengan perintah seperti berikut
# chmod 600 /var/certs/monit.pem
8. Terakhir kita restart Monit
# service monit restart
atau
# /etc/init.d/monit restart
9. Buka Web browser arahkan ke arahkan browser Anda ke
https://IP server:2812 atau https://domain:2812 misalkan https://192.168.22.2:2812
Muncul halaman seperti berikut
Klik Advanced --> Add Exception --> Confirm Security Exception
Login dengan Username admin dan Password howtoforge, dan Anda akan melihat antarmuka web Monit.
Tampilan Monit
10. Untuk mendapatkan status Monit pada shell, jalankan "monit Status" dengan perintah:
# monit status
Sign up here with your email















ConversionConversion EmoticonEmoticon