Nagios adalah aplikasi populer dan open-source yang digunakan untuk memantau sistem, jaringan, layanan, dan aplikasi secara terus-menerus. Itu terus-menerus memantau status mesin dan berbagai layanan. Jika ada masalah, ini memberikan peringatan dini sehingga administrator dapat mengambil tindakan yang diperlukan. Nagios melakukan semua pemeriksaan pada mesin lokal dan host menggunakan program eksternal yang dikenal sebagai plugin. Ini juga memberi Anda antarmuka web yang memungkinkan Anda melihat status host dan layanan, riwayat, log, dan membuat laporan.
Dalam posting ini, kami akan menjelaskan cara menginstal dan mengkonfigurasi Nagios di Linux dan memantau kesehatan server Linux lainnya. Kami akan menggunakan dua server Debian 10 (Buster); keduanya pada jaringan yang sama. Pada server monitoring, kita akan menginstall Nagios core, plugin Nagios, dan plugin check_nrpe. Saat berada di remote host, kita akan menginstal plugin Nagios dan NRPE.
Terminologi
Mari kita pahami beberapa istilah yang membantu Anda memahami konfigurasi:
Tuan Rumah :Ini adalah perangkat yang perlu dipantau seperti mesin fisik, workstation, atau perangkat jaringan.
Layanan :Ini adalah layanan atau sumber daya yang dipantau di host seperti HTTP, SMTP, POP, DNS, jumlah pengguna yang masuk, penggunaan memori, dll.
Plugin Nagios: Ini adalah skrip yang memeriksa status host atau layanan dan memverifikasi apakah mereka berfungsi dengan benar. Ada beberapa plugin standar yang dapat memeriksa sumber daya dasar seperti beban prosesor, penggunaan disk, kecepatan ping, dll. Plugin biasanya terletak di /usr/local/nagios/libexec direktori.
Pengaya NRPE (Nagios Remote Plugin Executor): Add-on NRPE mengeksekusi plugin pada host Linux jarak jauh yang kemudian memungkinkan Nagios untuk mengawasi sumber daya lokal (ruang disk, penggunaan memori, dll). Pengaya NRPE terdiri dari:
- Daemon NRPE – Ini berjalan pada host Linux/Unix jarak jauh yang perlu dipantau
- plugin check_nrpe – Digunakan oleh server pemantauan Nagios
Anda harus memiliki hak sudo di kedua server. Rincian mesin kami adalah sebagai berikut:
Server Pemantau Nagios:
- Nama host:nagios-server,
- Alamat IP:192.168.72.158
Pembawa Acara Nagios:
- Nama host:klien
- Alamat IP:192.168.72.159
Langkah 1 – Memasang Nagios Core di Server Pemantauan
Di server pemantauan Nagios, ikuti langkah-langkah di bawah ini untuk mengunduh dan menginstal inti Nagios.
1. Menginstal Prasyarat
Pertama, kita perlu menginstal Prasyarat di server pemantauan Nagios. Untuk melakukannya, perbarui daftar paket menggunakan perintah di bawah ini di Terminal:
$ sudo apt update
Kemudian instal paket yang diperlukan:
$ sudo apt install -y autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php7.4 libgd-dev openssl libssl-dev
2. Unduh Sumber Nagios
Navigasikan ke /tmp direktori:
$ cd /tmp
Kemudian unduh kode sumber Nagios menggunakan wget memerintah. Kami akan mengunduh Nagios versi terbaru yang tersedia saat ini yaitu 4.46 . Anda dapat mengunjungi Unduhan Nagios untuk mencari rilis stabil saat ini.
$ wget -O nagios.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz
File yang diunduh akan disimpan sebagai nagios.tar.gz di /tmp direktori.
3. Kompilasi Sumber
Ekstrak arsip yang diunduh nagios.tar.gz menggunakan perintah di bawah ini:
$ tar -xzf nagios.tar.gz
Pindahkan ke folder hasil ekstrak menggunakan cd perintah:
$ cd nagioscore-nagios-4.4.6/
Jalankan konfigurasi script dan menentukan jalur ke direktori konfigurasi server Apache:
$ ./configure --with-httpd-conf=/etc/Apache2/sites-enabled
Setelah skrip configure dijalankan, Anda akan melihat ringkasan di bawah ini di akhir output:
Konfigurasi . Anda skrip mungkin gagal jika ada prasyarat yang hilang. Dalam hal ini, instal prasyarat yang hilang dan jalankan kembali skrip.
Sekarang kompilasi Nagios menggunakan perintah di bawah ini:
$ buat semua
4. Buat Pengguna dan Grup
Sekarang buat pengguna dan grup untuk Nagios.
$ sudo make install-groups-users
Perintah di atas akan membuat pengguna sistem dan grup Nagios.
Kami juga perlu menambahkan pengguna “www-data ” ke nagios grup.
$ sudo usermod -a -G nagios www-data
5. Memasang Binari
Kemudian untuk menginstal binari, gunakan perintah di bawah ini:
$ sudo make install
6. Instal Layanan / Daemon
Untuk menginstal file layanan, gunakan perintah di bawah ini:
$ sudo make install-daemoninit
7. Instal Mode Perintah
Untuk menginstal dan mengkonfigurasi file perintah eksternal, gunakan perintah di bawah ini:
$ sudo make install-commandmode
8. Instal File Konfigurasi
Kemudian untuk menginstal contoh konfigurasi Nagios, gunakan perintah di bawah ini:
$ sudo make install-config
9. Instal File Konfigurasi Apache
Ini menginstal file konfigurasi Apache, gunakan perintah di bawah ini:
$ sudo make install-webconf
Sekarang aktifkan modul Apache menggunakan perintah di bawah ini:
$ sudo a2enmod menulis ulang
sudo a2enmod cgi
Buat Akun Pengguna Nagiosadmin untuk Antarmuka Web:
Sekarang kita akan membuat akun pengguna Apache yang dapat mengakses antarmuka web Nagios.
$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Sekarang atur kata sandi untuk nagiosadmin akun pengguna. Kata sandi ini akan digunakan untuk mengakses antarmuka web Nagios.
Kemudian restart Apache agar perubahan konfigurasi diterapkan:
$ sudo systemctl restart Apache2
Sekarang kita telah berhasil menginstal mesin inti Nagios.
Langkah 2 – Memasang Plugin Nagios di Server Monitoring
Agar inti Nagios berfungsi dengan baik, Anda perlu menginstal plugin Nagios.
Unduh Plugin Nagios
Di server Nagios, Navigasikan ke /tmp direktori:
$ cd /tmp
Kemudian unduh kode sumber plugin Nagios menggunakan wget memerintah. Kami akan mengunduh versi terbaru plugin Nagios yang tersedia saat ini yaitu 2.3.3. Anda dapat mengunjungi halaman Github untuk menemukan rilis stabil terbaru.
$ wget -O Nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar. gz
File yang diunduh akan disimpan sebagai Nagios-plugins.tar.gz di /tmp direktori.
Kompilasi
Ekstrak arsip yang diunduh Nagios-plugins.tar.gz menggunakan perintah di bawah ini:
$ tar zxf nagios-plugins.tar.gz
Navigasikan ke folder hasil ekstrak menggunakan cd perintah:
$ cd nagios-plugins-2.3.3/
Jalankan konfigurasi naskah:
$ sudo ./configure
Sekarang kompilasi plugin Nagios menggunakan perintah di bawah ini:
$ sudo make
$ sudo make install
Langkah 3 – Menginstal Plugin check_nrpe di Server Pemantauan
Sekarang kita akan menginstal check_nrpe plugin di server Nagios kami.
Unduh Sumber Plugin
Di server Nagios, Navigasikan ke /tmp direktori:
$ cd /tmp
Kemudian unduh kode sumber check_nrpe menggunakan perintah wget. Kami akan mengunduh versi terbaru dari check_nrpe yaitu 4.0.3. Anda dapat mengunjungi halaman Github untuk menemukan rilis stabil terbaru.
$ wget -O Nagios-nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
File yang diunduh akan disimpan sebagai Nagios-nrpe.tar.gz di /tmp direktori.
Mengkompilasi Sumber
Ekstrak arsip yang diunduh nagios.tar.gz menggunakan perintah di bawah ini:
$ tar -xzf Nagios-nrpe.tar.gz
Navigasikan ke folder hasil ekstrak menggunakan cd perintah:
$ cd nrpe-4.0.3/
Jalankan konfigurasi naskah:
$ sudo ./configure
Sekarang kompilasi check_nrpe menggunakan perintah di bawah ini:
$ sudo make check_nrpe
$ sudo make install-plugin
Langkah 4 – Mengonfigurasi Nagios
Sekarang, kita akan mengkonfigurasi file konfigurasi utama Nagios. Edi file konfigurasi Nagios nagios.cfg menggunakan perintah di bawah ini:
$ sudo nano /usr/local/nagios/etc/nagios.cfg
Sekarang temukan baris di bawah ini dalam file dan batalkan komentar dengan menghapus # karakter dari awal baris.
#cfg_dir=/usr/local/nagios/etc/servers
Baris di atas menentukan direktori yang berisi file konfigurasi untuk semua host yang akan dipantau oleh server Nagios. Sekarang simpan dan tutup file konfigurasi.
Sekarang kita akan membuat direktori di jalur yang ditentukan di atas:
$ sudo mkdir /usr/local/nagios/etc/servers
Konfigurasi Kontak Email
Sekarang kami akan mengonfigurasi kontak yang harus diberi tahu jika terjadi peristiwa apa pun. Edit konfigurasi kontak Nagios menggunakan perintah di bawah ini:
Untuk menerima peringatan dari server pemantauan Nagios, Anda perlu mengonfigurasi kontak. Buka kontak file konfigurasi, dan tentukan alamat email yang Anda inginkan untuk menerima email dari Nagios:
$ sudo nano /usr/local/nagios/etc/objects/contacts.cfg
Dalam arahan email, ganti [email protected]localhost dengan alamat email Anda sendiri, lalu simpan dan tutup file.
Konfigurasikan check_nrpe
Sekarang untuk menggunakan check_nrpe plugin, kami akan menambahkan perintah baru di perintah berkas konfigurasi. Edit file konfigurasi perintah commands.cfg menggunakan perintah di bawah ini:
$ sudo nano /usr/local/nagios/etc/objects/commands.cfg
Tambahkan baris berikut ke akhir commands.cfg file lalu simpan dan tutup:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Sekarang mulai layanan Nagios:
$ sudo systemctl start Nagios.serviceLangkah 5 – Mengakses Antarmuka Web Nagios
Sekarang akses antarmuka web Nagios dengan mengunjungi alamat di bawah ini di browser web apa pun:
http://nagios-server-ip/nagiosDalam skenario kami, itu akan menjadi:
http://192.168.72.158/nagiosDalam Otentikasi Diperlukan dialog, ketik nagiosadmin sebagai nama pengguna dan kata sandi yang telah Anda tetapkan sebelumnya.
Setelah masuk ke antarmuka web, Anda akan melihat halaman web default Nagios. Buka Host tab dari bilah sisi kiri untuk melihat host yang dipantau.
Saat ini, Anda hanya akan melihat satu host “localhost ” yang merupakan server Nagios itu sendiri. Untuk memantau host lain, Anda perlu menginstal NRPE daemon pada mereka.
Langkah 6 – Pengaturan Host Jarak Jauh
Sekarang Anda harus menginstal plugin Nagios dan NRPE pada host yang perlu dipantau di server Nagios.
1. Instal Plugin Nagios di Host Jarak Jauh
Di host jarak jauh (klien) yang perlu dipantau, ikuti langkah-langkah di bawah ini untuk menginstal plugin Nagios.
1. Pertama, perbarui apt:
$ sudo apt update2. Kemudian jalankan perintah di bawah ini untuk menginstal paket yang diperlukan:
$ sudo apt install autoconf gcc libmcrypt-dev make libssl-dev dc build-essential gettext3. Sekarang, Navigasikan ke /tmp dan unduh plugin Nagios.
$ cd /tmp$ wget -O Nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar. gz4. Ekstrak arsip yang diunduh:
$ tar -zxf nagios-plugins.tar.gz5. Pindah ke folder hasil ekstrak dan jalankan configure naskah:
$ cd nagios-plugins-2.3.3//
$ sudo ./configure6. Kompilasi plugin:
$ sudo make
$ sudo make install2. Instal NRPE Daemon di Host Jarak Jauh
Ikuti langkah-langkah di bawah ini untuk menginstal NRPE pada host jarak jauh.
1. Pertama, perbarui apt:
$ sudo apt update2. Keluarkan perintah di bawah ini untuk menginstal prasyarat:
$ sudo apt install -y autoconf automake gcc libc6 libmcrypt-dev make libssl-dev3. Sekarang Navigasikan ke /tmp dan unduh NRPE.
$ cd /tmp
$ wget -O nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar. gz4. Ekstrak arsip yang diunduh:
$ tar xzf nrpe.tar.gz5. Pindahkan ke folder yang diekstrak dan jalankan skrip konfigurasi:
$ sudo ./configure --enable-command-args6. Kompilasi NRPE dengan perintah berikut:
$ sudo buat semua$ make install-groups-users
$ sudo make install
$ sudo make install-config
$ sudo make install-init3. Konfigurasi Firewall
Sekarang jika firewall berjalan di host jarak jauh Anda, Anda harus membuka port 5666 (digunakan oleh NRPE) melaluinya.
$ sudo ufw allow 5666/tcp4. Perbarui Konfigurasi NRPE
Sekarang buka file konfigurasi NRPE di host jarak jauh:
$ sudo nano /usr/local/nagios/etc/nrpe.cfgAnda perlu menemukan dan memodifikasi entri di bawah ini:
Tambahkan alamat IP klien:
server_address=192.168.72.159
Tambahkan alamat IP server Nagios:
allowed_hosts=127.0.0.11,192.168.72.158
Juga, ganti /dev/vda1 dengan sistem file root Anda:
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
Kemudian mulai layanan NRPE:
$ sudo systemctl start nrpe.serviceSekarang periksa apakah layanan NRPE berjalan dengan benar:
$ sudo systemctl status nrpe.serviceAktif (berjalan) pada output di bawah ini menunjukkan bahwa layanan berhasil berjalan tanpa masalah. Anda juga dapat melihat NRPE mengizinkan koneksi dari 192.168.72.158 yang merupakan alamat IP server Nagios.
Sekarang untuk memeriksa apakah check_nrpe di server Nagios dapat berkomunikasi dengan NRPE pada host jarak jauh , jalankan perintah ini di server Nagios :
$ /usr/local/nagios/libexec/check_nrpe -H remote_host_ipAnda akan menerima keluaran serupa berikut (nomor versi NRPE).
Langkah 7 – Tambahkan Konfigurasi Host ke Server Nagios
Sekarang di server pemantauan Nagios, Anda perlu membuat file konfigurasi terpisah di /usr/local/nagios/etc/servers / untuk semua host jarak jauh yang perlu Anda pantau.
Untuk mesin host kami, kami akan membuat file konfigurasi baru client.cfg :
$ sudo nano /usr/local/nagios/etc/servers/client.cfgGanti klien dengan nama host Anda:
Sekarang tambahkan definisi host ke file konfigurasi baru yang menggantikan nilai host_name dengan nama host jarak jauh, alias dengan deskripsi singkat, dan alamat dengan alamat IP dari host jarak jauh.
Konfigurasi ini akan memeriksa apakah mesin host sedang aktif atau tidak.
tentukan host {
gunakan linux-server
host_name client
alias mesin client
address 192.168 .72.159
max_check_attempts 5
}Sekarang tambahkan definisi layanan ke file konfigurasi untuk memantau host jarak jauh. Ganti nilai host_name dengan nama host jarak jauh.
Catatan: Definisi layanan ini akan menggunakan perintah yang telah dikonfigurasi di /usr/local/nagios/etc/nrpe.cfg file di host jarak jauh.
Tambahkan blok layanan berikut untuk memantau beban CPU pada host jarak jauh
define service {
gunakan layanan generik
host_name client
service_description Beban CPU
check_command check_nrpe! check_load
}
c pada host jarak jauh:mendefinisikan layanan{
menggunakan layanan generik
host_name client
service_description Total Proses
check_command check_nrpe! check_total_procs}
Tambahkan blok layanan berikut untuk memantau penggunaan disk pada host jarak jauh:
define service {
use generic-service
host_name client
service_description Periksa Disk
check disk}
Tambahkan blok layanan berikut untuk memantau jumlah pengguna saat ini masuk pada host jarak jauh:
define service {
use generic-service
host_name client
service_description Pengguna Saat Ini
centangSekarang simpan dan tutup file konfigurasi.
Mulai ulang layanan Nagios untuk menerapkan perubahan konfigurasi:
$ sudo systemctl restart NagiosSekarang akses antarmuka web menggunakan http://nagios-server-ip/nagios. Tunggu beberapa saat dan remote host Anda akan ditambahkan ke antarmuka web Nagios.
Buka Host dari bilah navigasi kiri dan Anda akan melihat host jarak jauh Anda terdaftar di sana.
Lalu buka Layanan tab, dan Anda akan melihat status semua layanan untuk host yang telah Anda konfigurasikan untuk dipantau.
Dalam posting ini, kami telah menjelaskan cara menginstal dan mengkonfigurasi solusi pemantauan Nagios di Linux. Kami juga telah menjelaskan cara mengatur host jarak jauh untuk pemantauan. Sekarang Anda dapat dengan mudah memantau kesehatan host Linux dan layanan yang berjalan di dalamnya.
Klik di sini jika Anda tertarik untuk memantau server Anda dengan Zabbix.
Debian