GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Monit di CentOS 7 / RHEL 7

Monit adalah alat pemantau proses sumber terbuka untuk sistem operasi Linux yang membantu Anda memantau proses sistem menggunakan browser web dan juga kapan pun diperlukan secara otomatis melakukan pemeliharaan atau perbaikan proses tertentu sedemikian rupa sehingga dapat dibawa kembali online.

Monit juga dapat digunakan untuk mengelola dan memantau program, file, direktori, dan perangkat untuk perubahan cap waktu, perubahan checksum, atau perubahan ukuran; tidak terbatas untuk melakukan berbagai pemeriksaan jaringan TCP/IP, pemeriksaan protokol, dan dapat menggunakan SSL untuk pemeriksaan tersebut.

Itu masuk ke file lognya dan memberi tahu pengguna melalui pesan yang dapat disesuaikan.

Panduan ini akan membantu Anda menginstal Monit di CentOS 7 / RHEL 7.

Instal Monit

Aktifkan repositori EPEL untuk mengunduh versi terbaru Monit.

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Instal Monit menggunakan perintah YUM.

yum -y install monit

Mulai monit dengan menggunakan perintah berikut.

monit

Keluaran:

Starting Monit 5.25.1 daemon with http interface at [localhost]:2812

Periksa status monit.

monit status

Keluaran:

Monit 5.25.1 uptime: 0m

System 'server.itzgeek.local'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  load average                 [0.01] [0.05] [0.04]
  cpu                          0.0%us 0.0%sy 0.0%wa
  memory usage                 170.2 MB [29.0%]
  swap usage                   0 B [0.0%]
  uptime                       4m
  boot time                    Sun, 09 Feb 2020 04:55:42
  data collected               Sun, 09 Feb 2020 05:00:00

Konfigurasi Monit

File konfigurasi utama Monit adalah /etc/monitrc. Kami akan membuat beberapa perubahan pada file konfigurasi Monit untuk kebutuhan kami.

vi /etc/monitrc

Secara default, monit diatur untuk memeriksa layanan pada interval 30 detik. Pengaturan ini dapat diubah dengan mengubah baris di bawah ini.

set daemon  30

Lansiran dapat dikonfigurasi dengan.

set mailserver mx.itzgeek.local port 25

Template peringatan dapat ditemukan di file konfigurasi itu sendiri. Lihat ekstra di bagian bawah artikel ini.
Setelan log dapat diubah dengan menggunakan file berikut.

set log /var/log/monit

Aktifkan Antarmuka Web Monit

Monit juga menyediakan antarmuka web untuk memantau dan mengelola layanan yang dikonfigurasi. Secara default, monit mendengarkan pada port 2812, tetapi perlu diatur.

Edit file konfigurasi monit.

vi /etc/monitrc

Cari port httpd 2812, ubah entri berikut.

DARI:

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'
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

KEPADA:

set httpd port 2812 and
    use address 0.0.0.0  # only accept connection from localhost
    allow 0.0.0.0/0        # allow localhost to connect to the server and
    allow admin:monit      # require user 'admin' with password 'monit'
    #with ssl {            # enable SSL/TLS and set path to server certificate
    #    pemfile: /etc/ssl/certs/monit.pem
    #}

Dari pengaturan di atas, monit akan mendengarkan pada 2812 dan pengguna admin akan dapat mengakses antarmuka web dari jaringan mana pun.

Muat ulang monit.

systemctl restart monit

Auto-start Monit saat start-up.

systemctl enable monit

Konfigurasikan firewall untuk mengizinkan akses ke antarmuka web Monit, yang berjalan pada port 2812.

firewall-cmd --permanent --add-port=2812/tcp

firewall-cmd --reload

Akses Antarmuka Web Monit

Buka browser web Anda dan buka URL di bawah ini.

http://your.ip.addr.ess:2812

ATAU

http://your.fq.dn:2812

Gunakan nama pengguna dan kata sandi yang disebutkan di langkah sebelumnya.

Halaman beranda Monit akan terlihat seperti di bawah ini.

Konfigurasikan Layanan Untuk Pemantauan Dengan Monit

Setelah antarmuka web siap, kita dapat mulai menyiapkan layanan yang ingin kita pantau.

Anda dapat menempatkan file konfigurasi pemantauan layanan di bawah direktori /etc/monit.d/.

Konfigurasi untuk layanan SSH.

vi /etc/monit.d/sshdmonitor

Gunakan informasi di bawah ini.

check process sshd with pidfile /var/run/sshd.pid
start program  "/usr/bin/systemctl start sshd.service"
stop program  "/usr/bin/systemctl stop sshd.service"
if failed port 22 protocol ssh then restart

Konfigurasikan layanan untuk syslog.

vi /etc/monit.d/syslogmonitor

Gunakan informasi di bawah ini.

check process syslogd with pidfile /var/run/syslogd.pid
start program = "/usr/bin/systemctl start rsyslog.service"
stop program = "/usr/bin/systemctl stop rsyslog.service"

Layanan konfigurasi untuk HTTP.

vi /etc/monit.d/httpdmonitor

Gunakan informasi di bawah ini.

check process httpd with pidfile /var/run/httpd/httpd.pid
start program "/usr/bin/systemctl start httpd.service"
stop program "/usr/bin/systemctl stop httpd.service"
if failed port 80 protocol http then restart

Setelah dikonfigurasi, uji sintaks monit

monit -t

Keluaran:

Control file syntax OK

Muat ulang, untuk menerapkan perubahan.

monit reload

Akses antarmuka web. Anda akan melihat layanan baru yang baru saja kami konfigurasikan.

Mengklik layanan akan memberi Anda informasi lebih lanjut tentang layanan tertentu. Di sini, Anda dapat melakukan tindakan seperti memulai, menghentikan, dan memulai ulang layanan, dan juga menonaktifkan pemantauan.

Pengujian Pemantauan

Sekarang hentikan layanan HTTP untuk pengujian kami.

systemctl stop httpd

Tunggu selama 30 detik, monit akan memulai syslog secara otomatis. Anda dapat menemukannya di log monit.

cat /var/log/monit.log

Keluaran:

[UTC Feb  9 05:18:00] error    : 'httpd' process is not running
[UTC Feb  9 05:18:00] info     : 'httpd' trying to restart
[UTC Feb  9 05:18:00] info     : 'httpd' start: '/usr/bin/systemctl start httpd.service'
[UTC Feb  9 05:18:31] info     : 'httpd' process is running with pid 1959

Peringatan Email dengan Monit

Ada template peringatan standar yang tersedia di Monit untuk mengingatkan admin sistem saat layanan tertentu gagal.

Edit file konfigurasi.

vi /etc/monitrc

Anda dapat memperbarui template peringatan di bawah ini sesuai kebutuhan Anda.

set mail-format {
   from:    Monit <monit@$HOST>
   subject: monit alert --  $EVENT $SERVICE
   message: $EVENT Service $SERVICE
                 Date:        $DATE
                 Action:      $ACTION
                 Host:        $HOST
                 Description: $DESCRIPTION

            Your faithful employee,
            Monit @ ITzGeek
}

Setel alamat penerima di sini. Catatan:Anda akan menerima peringatan tentang semua jenis tindakan

set alert root@localhost

Jika Anda tidak ingin memberi tahu Anda tentang layanan yang dimulai ulang oleh pengguna, tambahkan konfigurasi di bawah ini.

set alert root@localhost not on { instance, action }

Terakhir, atur konfigurasi server surat sehingga Anda dapat menerima surat. Di sini, saya menggunakan relai lokal sehingga kami dapat membaca peringatan email melalui terminal untuk memverifikasi pengujian.

set mailserver localhost

Muat ulang layanan.

monit reload

Contoh Peringatan

Monit telah mengirim email ke pengguna root tentang proses HTTP.

cat /var/spool/mail/root

Email:

From [email protected]  Sun Feb  9 05:22:48 2020
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
Received: from server.itzgeek.local (localhost [IPv6:::1])
        by server.itzgeek.local (Postfix) with ESMTP id 670E21082B34
        for <root@localhost>; Sun,  9 Feb 2020 05:22:48 +0000 (UTC)
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Does not exist httpd
Date: Sun, 09 Feb 2020 05:22:48 GMT
X-Mailer: Monit 5.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Does not exist Service httpd
                 Date:        Sun, 09 Feb 2020 05:22:48
                 Action:      restart
                 Host:        server.itzgeek.local
                 Description: process is not running

            Your faithful employee,
            Monit @ ITzGeek

From [email protected]  Sun Feb  9 05:23:18 2020
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
Received: from server.itzgeek.local (localhost [IPv6:::1])
        by server.itzgeek.local (Postfix) with ESMTP id B22AF1082B37
        for <root@localhost>; Sun,  9 Feb 2020 05:23:18 +0000 (UTC)
From: "Monit" <[email protected]>
To: [email protected]
Subject: monit alert --  Exists httpd
Date: Sun, 09 Feb 2020 05:23:18 GMT
X-Mailer: Monit 5.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Message-Id: <[email protected]>

Exists Service httpd
                 Date:        Sun, 09 Feb 2020 05:23:18
                 Action:      alert
                 Host:        server.itzgeek.local
                 Description: process is running with pid 2139

            Your faithful employee,
            Monit @ ITzGeek

ATAU

Gunakan klien email Mutt (yum install -y mutt).

Kesimpulan

Itu saja. Kami telah berhasil mengonfigurasi Monit di CentOS 7 / RHEL 7.


Cent OS
  1. Cara menginstal phpMyAdmin di RHEL 8 / CentOS 8

  2. Cara Menginstal Icinga 2 di CentOS 8 / RHEL 8

  3. Cara Menginstal Monit di CentOS 6

  1. Cara Menginstal P7Zip di RHEL 8 / CentOS 8

  2. Cara menginstal ntfs-3g di RHEL 8 / CentOS 8

  3. Cara Menginstal PHP-mbstring di RHEL 8 / CentOS 8

  1. Cara menginstal phantomjs di RHEL 8 / CentOS 8

  2. Cara menginstal Dropbox di RHEL 8 / CentOS 8

  3. Cara memasang kompas di RHEL 8 / CentOS 8