Cara Monitoring Remote Linux System Dengan Nagios Monitoring Tool

Pada artikel terakhir, kami membahas pemasangan server Nagios di CentOS 8CentOS 7Ubuntu 18.04 / 16.04, and Debian10 / 9. Di sini, di pos ini, kami akan menambahkan host Linux ke Nagios monitoring tool menggunakan NRPE plugin.

Saya berasumsi bahwa Anda memiliki pengaturan Nagios yang berfungsi, jika tidak, gunakan salah satu dari tautan di bawah ini dan setup server Nagios.

Install Nagios Server

Baca: Cara Install Nagios Pada CentOS 8 / RHEL 8

Baca: Cara Install Nagios 4.4.3 Pada CentOS 7/6 & RHEL 7/6

Baca: Cara Install Nagios 4.4.3 Pada Ubuntu 18.04 & Ubuntu 16.04

Baca: Cara Install Nagios Pada Debian 10 / Debian 9

Monitor Remote Linux System Dengan Nagios

Pada Remote Linux System

Plugin Nagios Remote Plugin Executor (disingkat NRPE) memungkinkan Anda untuk memonitor aplikasi dan layanan yang berjalan di host Linux / Windows jarak jauh. Add-on NRPE ini membantu Nagios untuk memonitor sumber daya lokal seperti CPU, Memory, Disk, Swap, dll. Dari host jarak jauh.

Install NRPE Add-on & Nagios Plugins

CentOS / RHEL

NRPE Server dan plugin Nagios tersedia di repositori EPEL untuk CentOS / RHEL. Jadi, konfigurasikan repositori EPEL sistem CentOS / RHEL Anda.

### CentOS 8 / RHEL 8 ###

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

### CentOS 7 / RHEL 7 ###

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

### CentOS 6 / RHEL 6 ###

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

Gunakan perintah berikut untuk meng install NRPE Add-on dan Nagios plugins.

yum install -y nrpe nagios-plugins-all
Ubuntu / Debian

Gunakan perintah berikut untuk meng install NRPE Add-on dan Nagios plugins.

sudo apt update

sudo apt install -y nagios-nrpe-server nagios-plugins

Konfigurasi NRPE Add-on

Modifikasi konfigurasi file NRPE untuk menerima koneksi dari server Nagios, Edit file /etc/nagios/nrpe.cfg .

### CentOS / RHEL ###

vi /etc/nagios/nrpe.cfg

### Ubuntu / Debian ###

sudo nano /etc/nagios/nrpe.cfg

Tambahkan alamat IP server Nagios, dipisahkan dengan koma seperti di bawah ini.

allowed_hosts=192.168.0.10

Konfigurasi Nagios Checks

File /etc/nagios/nrpe.cfg berisi perintah dasar untuk memeriksa atribut (CPU, Memori, Disk, dll. arsitektur) dan layanan (HTTP, FTP, dll.) pada host jarak jauh.

Jalur ke plugin Nagios dapat berubah tergantung pada arsitektur sistem operasi Anda (i386 or x86_64).
CentOS / RHEL
vi /etc/nagios/nrpe.cfg

Di bawah baris perintah memungkinkan Anda memantau pengguna yang masuk, pemuatan sistem, penggunaan sistem file root, penggunaan swap dan jumlah total proses dengan bantuan plugin Nagios.

# COMMAND DEFINITIONS

...
...

command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 20% -c 10%
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
Ubuntu / Debian
sudo nano /etc/nagios/nrpe.cfg

Di bawah baris perintah, Anda dapat memantau pengguna yang masuk, sistem memuat, menggunakan sistem file root, menukar penggunaan, dan jumlah total proses dengan bantuan plugin Nagios.

# COMMAND DEFINITIONS

...
...

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 20% -c 10%
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
Dalam definisi perintah di atas -w adalah singkatan warning dan -c adalah singkatan critical.

Testing Nagios Checks

Misalnya, jalankan perintah di bawah ini di terminal lain untuk melihat hasil pemeriksaan.

Ubuntu 18.04:

/usr/lib/nagios/plugins/check_procs -w 150 -c 200

Output:

PROCS WARNING: 190 processes | procs=190;150;200;0;

Plugin Nagios akan menghitung proses yang berjalan dan akan memperingatkan Anda jika jumlah proses lebih dari 150, atau itu akan melaporkan Anda kritis jika jumlah proses lebih dari 200, dan pada saat yang sama, output akan menyatakan OK jika hitungan di bawah 150.

YAnda dapat menyesuaikan tingkat peringatan sesuai kebutuhan Anda.

Ubah peringatan menjadi 200 dan kritis menjadi 250 untuk tujuan pengujian. Sekarang Anda akan melihat pesan OK.

/usr/lib/nagios/plugins/check_procs -w 200 -c 250

Output:

PROCS OK: 189 processes | procs=189;200;250;0;

Definisi perintah ini harus dimasukkan pada file templat pada host server Nagios untuk mengaktifkan pemantauan.

Restart NRPE service.

### CentOS / RHEL ###

systemctl start nrpe

systemctl enable nrpe

### Ubuntu / Debian ### 

sudo systemctl restart nagios-nrpe-server

Firewall

Konfigurasi firewall sehingga server Nagios dapat mencapai server NRPE yang berjalan di host Linux jarak jauh. Jalankan perintah ini di mesin Linux jarak jauh.

FirewallD
firewall-cmd --permanent --add-port=5666/tcp

firewall-cmd --reload
IP Tables
iptables -I INPUT -p tcp --dport 5666 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

iptables -I OUTPUT -p tcp --sport 5666 -m conntrack --ctstate ESTABLISHED -j ACCEPT

/etc/init.d/iptables save

Pn Nagios Server

Install NRPE plugin

Plugin NRPE ini menyediakan plugin check_nrpe yang menghubungi server NRPE pada mesin jarak jauh untuk memeriksa layanan atau sumber daya.

CentOS / RHEL

Plugin Nagios NRPE tersedia di repositori EPEL untuk CentOS / RHEL. Jadi, konfigurasikan repositori EPEL sistem CentOS / RHEL Anda.

### CentOS 8 / RHEL 8 ###

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

### CentOS 7 / RHEL 7 ###

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

### CentOS 6 / RHEL 6 ###

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

Gunakan perintah berikut untuk meng install NRPE plugin pada system anda.

 yum -y install nagios-plugins-nrpe
Ubuntu / Debian

Gunakan perintah berikut untuk meng install NRPE plugin pada system anda.

sudo apt install -y nagios-nrpe-plugin

Edit Konfigurasi

Edit file konfigurasi Nagios untuk memasukkan semua file .cfg di dalam /usr/local/nagios/etc/servers .

### CentOS / RHEL ###

vi /usr/local/nagios/etc/nagios.cfg

### Ubuntu / Debian ###

sudo nano /usr/local/nagios/etc/nagios.cfg

Tambahkan baris berikut.

cfg_dir=/usr/local/nagios/etc/servers

Buat direktori konfigurasi.

### CentOS / RHEL ###

mkdir /usr/local/nagios/etc/servers

### Ubuntu / Debian ###

sudo mkdir /usr/local/nagios/etc/servers

Tambahkan Definisi Perintah

Sekarang saatnya mengkonfigurasi server Nagios untuk memantau mesin klien jarak jauh, dan Anda harus membuat definisi perintah dalam file konfigurasi objek Nagios untuk menggunakan plugin check_nrpe.

Buka file commands.cfg .

CentOS / RHEL
vi /usr/local/nagios/etc/objects/commands.cfg

Tambahkan definisi perintah Nagios berikut ke file.

# .check_nrpe. command definition
define command{
command_name check_nrpe
command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
}
Ubuntu / Debian
sudo nano /usr/local/nagios/etc/objects/commands.cfg

Tambahkan definisi perintah Nagios berikut ke file.

# .check_nrpe. command definition
define command{
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
}

Tambahkan Linux host ke Nagios server

Buat konfigurasi klien file /usr/local/nagios/etc/servers/client.dreamblog.local.cfg untuk menentukan definisi host dan layanan host Linux jarak jauh.

### CentOS / RHEL ###

vi /usr/local/nagios/etc/servers/client.dreamblog.local.cfg

### Ubuntu / Debian ###

sudo nano /usr/local/nagios/etc/servers/client.dreamblog.local.cfg

Copy konten di bawah ini ke file di atas.

Anda juga dapat menggunakan templat berikut dan memodifikasinya sesuai dengan kebutuhan Anda. Templat berikut ini untuk memantau pengguna yang masuk, beban sistem, penggunaan disk (/ – partisi), swap, dan total proses.

define host{
                           
            use                     linux-server            
            host_name               client.dreamblog.local            
            alias                   client.dreamblog.local            
            address                 192.168.0.20
                                    
}                                   
                                    
define hostgroup{                   
                                    
            hostgroup_name          linux-server            
            alias                   Linux Servers            
            members                 client.dreamblog.local
}                                   
                                    
define service{                     
                                    
            use                     local-service            
            host_name               client.dreamblog.local            
            service_description     SWAP Uasge            
            check_command           check_nrpe!check_swap                          
                                    
}                                   
                                    
define service{                     
                                    
            use                     local-service            
            host_name               client.dreamblog.local            
            service_description     Root / Partition            
            check_command           check_nrpe!check_root                          
                                    
}                                   
                                    
define service{                     
                                    
            use                     local-service            
            host_name               client.dreamblog.local            
            service_description     Current Users            
            check_command           check_nrpe!check_users                         
                                    
}                                   
                                    
define service{                     
                                    
            use                     local-service            
            host_name               client.dreamblog.local            
            service_description     Total Processes            
            check_command           check_nrpe!check_total_procs                   
                                    
}                                   
                                    
define service{                     
                                    
            use                     local-service            
            host_name               client.dreamblog.local            
            service_description     Current Load            
            check_command           check_nrpe!check_load

}

Verifikasi Nagios untuk setiap kesalahan.

### CentOS / RHEL ###

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

### Ubuntu / Debian ###

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Restart Nagios server.

### CentOS / RHEL ###

systemctl restart nagios

### Ubuntu / Debian ###

sudo systemctl restart nagios

Check Nagios Monitoring

Pergi dan periksa nagios web interface untuk melihat layanan baru yang kami tambahkan tadi.

Dalam satu menit, Anda akan mulai melihat status di halaman layanan.

Kesimpulan

Itu saja.