GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Monit (Pemantauan Proses dan Layanan) di Ubuntu / Debian

Monit - Pemantauan Proses dan Layanan untuk Linux

Layanan di server mana pun harus aktif dan berjalan dan melakukan apa yang seharusnya mereka lakukan.

Pemantauan otomatis diperlukan untuk memastikan dan memaksimalkan waktu aktif dan ketersediaan layanan sistem di server.

Ini memungkinkan administrator sistem untuk mendapatkan pemberitahuan dan memperbaiki masalah sesegera mungkin dengan gangguan atau waktu henti yang minimal.

Dalam posting ini kita akan bermain dengan alat yang disebut Monit yang dapat memantau layanan dan proses di server dan mengirimkan email peringatan ketika ada yang gagal.

Alat itu sendiri cukup ringan dan memungkinkan pengguna untuk menulis "tes" menggunakan bahasa gaya skrip yang sangat sederhana.

Instal Monit

Pada sistem berbasis Debian dan Ubuntu, Monit tersedia di repositori default. Instal menggunakan apt-get

$ sudo apt-get install monit

Setelah instalasi monit akan dimulai sebagai layanan latar belakang dan dapat diverifikasi dengan perintah berikut

# service monit status
 * monit is running

Konfigurasi Monit

Hal berikutnya yang harus dilakukan adalah mengkonfigurasi monit untuk memantau hal-hal tertentu. File konfigurasi untuk Monit terletak di /etc/monit/monitrc pada sistem berbasis Ubuntu dan Debian.

You can either add all configurations to this file - /etc/monit/monitrc, or create additional configuration files in the /etc/monit/conf.d/ directory and monit would automatically read and load all of them

Mulai edit file konfigurasi untuk menambahkan layanan yang ingin Anda pantau.

Monit juga memiliki file log yang terletak di /var/log/monit.log yang akan berisi informasi berharga jika Anda perlu memperbaiki sesuatu

Setelah konfigurasi, uji konfigurasi baru dengan menjalankan perintah berikut

# sudo monit -t

Muat ulang konfigurasi baru tanpa memulai ulang semua monit

# sudo monit reload

Aktifkan antarmuka web

Antarmuka web memungkinkan Anda untuk memeriksa laporan Monit dari browser. Ini berguna saat menyiapkan dan menguji monit. Nanti, lebih baik untuk menonaktifkannya agar semuanya tetap aman.

Temukan baris "set httpd" di file konfigurasi dan batalkan komentar. Jika baris tidak ada, buat saja.

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'
#    allow @monit           # allow users of group 'monit' to connect (rw)
#    allow @users readonly  # allow users of group 'users' to connect readonly

Sekarang akses http://localhost:2812/ dan antarmuka web Monit akan terbuka.

Siapkan peringatan Email

Seluruh ide di balik monit adalah untuk mendapatkan peringatan setiap kali sesuatu yang tidak terduga terjadi. Monit dapat mengirimkan email secara otomatis. Temukan baris "setel peringatan" dan tentukan email tujuan pengiriman laporan. Tentukan juga server surat yang akan digunakan.

set alert [email protected]
set mailserver localhost

Pastikan ada server smtp (MTA) yang berjalan di localhost dan dapat mengirimkan email dengan benar. Gunakan perintah email untuk memverifikasi bahwa sistem telah dikonfigurasi dengan benar untuk mengirim email.

Hindari email non-lansiran - Monit secara default mengirimkan email untuk setiap hal yang dilakukannya atau semua yang terjadi. Misalnya saat monit dimulai. Namun kami hanya menginginkan email khusus peringatan. Ubah konfigurasi sebagai berikut

set alert [email protected] not on {instance}

Konfigurasi di atas tidak akan mengirimkan laporan instans melalui email yang dihasilkan saat monit start/stop. Periksa dokumentasi monit pada filter acara untuk mengetahui lansiran guna mempelajari lebih lanjut.

Beginilah tampilan surat peringatan Monit. Ini dimunculkan saat uji ruang disk berjalan dan gagal di server.

Resource limit matched Service server_disk 

	Date:        Thu, 11 Jun 2015 15:41:43
	Action:      alert
	Host:        localhost
	Description: space usage 61.4% matches resource limit [space usage>50.0%]

Your faithful employee,
Monit

Memonitor layanan seperti Apache, Mysql, Postfix

Sekarang Anda ingin memantau server web, server basis data, server surat, dan daemon lainnya untuk memastikan bahwa layanan selalu aktif dan berjalan dengan sempurna. Ini mudah.

Terus tambahkan instruksi dalam file konfigurasi monit untuk menentukan setiap layanan yang ingin Anda pantau dan Monit akan mulai melakukannya secara instan.

After changing configurations, make sure to run 'sudo monit reload' to bring them in effect.
While testing you can manually turn services on/off and check the monit report from the web interface.

Berikut beberapa contohnya -

1. Layanan HTTP - port 80

Contoh berikut akan memberitahu Monit untuk memeriksa apakah server http melayani pada port 80 atau tidak. Jika tidak, itu akan menghasilkan peringatan

check host http_server with address localhost
    if failed port 80 protocol http then alert

Jadi jika ada masalah dengan server http (apache atau nginx) peringatan akan dibuat
Demikian pula Anda dapat mengatur monitor untuk port lain seperti ftp, smtp, imap dll.

2. Pantau status situs web

Memantau port 80 saja tidak cukup untuk memastikan bahwa situs web aktif dan berfungsi. Kami perlu memastikan bahwa mengambil halaman memberikan kode respons http 200. Berikut adalah konfigurasi yang diperlukan

# check that website is working proper
check host binarytides with address www.binarytides.com
    if failed
        port 80
        protocol http
        request "/"
        status = 200
    then alert

Jika salah satu dari "port 80" atau "server http" atau "status 200 untuk / url" gagal maka peringatan akan dibuat. Ini adalah cara yang efektif untuk memeriksa apakah situs Anda aktif dan tersedia bagi pengguna.

3. Server web Apache - Pemantauan Proses

Proses dipantau menggunakan file pid tertentu. Misalnya pada web server Apache Debian memiliki pid yang terletak di /var/run/apache2/apache2.pid yang dapat diperiksa untuk memastikan apache berjalan atau tidak.

# Monitor Apache and restart if not running, also alert
check process apache with pidfile /var/run/apache2/apache2.pid
    start program = "/etc/init.d/apache2 start"
    stop program  = "/etc/init.d/apache2 stop"

Di atas memberitahu monit untuk memantau proses dari file pid yang ditentukan. Di sini, jika monit tidak menemukan proses yang sedang berjalan, monit akan mencoba untuk memulainya menggunakan perintah yang ditentukan dalam parameter "mulai program". Secara default, monit juga akan menghasilkan peringatan (email) saat memulai ulang.

Hanya memantau

Jika Anda tidak ingin monit me-restart Apache dan hanya menginformasikan tentang acara tersebut, gunakan jenis konfigurasi yang berbeda

# Alert if apache not running
check process apache with pidfile /run/apache2/apache2.pid
    if does not exist then alert

4. Periksa Mysql pada port 3306 - Pemantauan port

Dalam contoh ini kita memonitor database mysql tidak menggunakan pid tetapi langsung dengan menghubungkan ke service port yaitu 3306.

Untuk memeriksa hanya nomor port dengan protokol gunakan konfigurasi berikut -

# check just port 3306
check host localmysql with address localhost
    if failed port 3306 protocol mysql then alert

Konfigurasi berikut akan memeriksa proses mysql dan restart jika tidak berjalan. Itu juga akan memeriksa layanan port 3306.

check process mysql_server with pidfile /var/run/mysqld/mysqld.pid
   start program = "/etc/init.d/mysql start"
   stop program = "/etc/init.d/mysql stop"
   if failed host 127.0.0.1 port 3306 protocol mysql then alert

5. Pantau server dan port email Postfix

Sekarang mari kita setup konfigurasi untuk memonitor mail server postfix. Konfigurasinya identik dengan yang sebelumnya, hanya dengan file pid dan nomor port yang berbeda

check host localpostfix with address localhost
    if failed port 25 protocol smtp then alert

Untuk memantau proses dan memulai kembali setelah gagal gunakan ini -

check process postfix with pidfile /var/spool/postfix/pid/master.pid
   start program = "/etc/init.d/postfix start"
   stop  program = "/etc/init.d/postfix stop"
   if failed port 25 protocol smtp then restart
And do not forget that while postfix is down, monit might not be able to send any emails (unless there are other mail servers specified). But monit would send them once the mail server is up again.

6. Peringatan berulang kali

Secara default, Monit hanya menghasilkan peringatan dua kali. Sekali ketika tes gagal dan lainnya ketika berhasil.

Jika Anda ingin mendapatkan peringatan berulang untuk tes gagal yang sama (jika terlalu penting misalnya), gunakan konfigurasi berikut.

set alert [email protected] with reminder on 15 cycles

Konfigurasi di atas adalah pengaturan global, yang mengirimkan semua peringatan setelah setiap 15 pemeriksaan/siklus.

Untuk mengulang peringatan hanya untuk pengujian tertentu, tentukan perintah peringatan dalam kriteria pengujian tertentu seperti ini

check filesystem datafs with path /dev/sda1
  alert [email protected] with reminder on 1 cycles
  if space usage > 80% for 5 times within 5 cycles then alert

Jika Anda ingin diingatkan lebih sedikit tetapi berulang kali, gunakan sesuatu seperti "pengingat pada 10 siklus".

Periksa status Monit

Ini membutuhkan monit http daemon untuk berjalan.

$ sudo monit status
The Monit daemon 5.8.1 uptime: 0m
Process 'apache'
  status                            Running
  monitoring status                 Monitored
  pid                               1335
  parent pid                        1
  uid                               0
  effective uid                     0
  gid                               0
  uptime                            1h 52m
  children                          7
  memory kilobytes                  29556
  memory kilobytes total            241604
  memory percent                    0.3%
  memory percent total              2.9%
  cpu percent                       0.0%
  cpu percent total                 0.0%
  data collected                    Fri, 05 Dec 2014 11:11:18
System 'enlightened'
  status                            Running
  monitoring status                 Monitored
  load average                      [0.05] [0.26] [0.35]
  cpu                               3.7%us 0.8%sy 0.0%wa
  memory usage                      3613152 kB [44.2%]
  swap usage                        0 kB [0.0%]
  data collected                    Fri, 05 Dec 2014 11:11:18

Atau periksa antarmuka web di http://localhost:2812/ untuk memeriksa status semuanya

Kesimpulan

Contoh di atas hanya menunjukkan contoh yang sangat sederhana dalam menyiapkan tugas pemantauan dengan Monit.

Monit mampu melakukan hal-hal yang jauh lebih kompleks seperti melakukan ping ke host jaringan, menjalankan skrip eksternal, dan menguji output untuk nilai tertentu.

Periksa dokumentasi lengkapnya di -
https://mmonit.com/monit/documentation/monit.html

Contoh konfigurasi dari halaman wiki Monit memiliki banyak contoh tentang cara mengkonfigurasi monitor untuk berbagai layanan -

http://mmonit.com/wiki/Monit/ConfigurationExamples

Jika Anda memiliki umpan balik atau pertanyaan, beri tahu kami di komentar di bawah.


Debian
  1. Cara Menginstal Python 3.7 di Ubuntu, Debian dan LinuxMint

  2. Cara Menginstal Suricata di Debian 11

  3. Cara Menginstal dan Mengonfigurasi Monit di Linux untuk Pemantauan Proses

  1. Cara Menginstal Netflix di Kodi di Ubuntu dan Debian

  2. Cara Menginstal dan Mengkonfigurasi Webmin di Debian / Ubuntu

  3. Cara Menginstal dan Mengonfigurasi Monit di Debian 9

  1. Cara Menginstal CTparental di Ubuntu 20.04 &Debian 10

  2. Cara Menginstal Icinga 2 di Ubuntu 18.04 / Ubuntu 16.04 &Debian 9

  3. Cara menginstal dan menggunakan Monit di Debian 9 / Ubuntu 16.04