Nagios Core adalah sebuah aplikasi yang berbasis open source dimana aplikasi ini memiliki kemampuan untuk memonitoring beberapa resource seperti server, firewall, switch, printer dan beberapa item lainnya. Nagios juga menyediakan fungsi alert, sebuah fungsi dimana Nagios akan memberitahukan sang administrator tentang issue yang sedang terjadi pada perangkat yang sedang dimonitoring sehingga sang administrator bisa segera memperbaiki issue tersebut.
Nagios juga menyediakan informasi berupa utilisasi CPU, utilisasi Disk, utilisasi Memori dan juga mendukung beberapa protokol jaringan seperti SMTP, HTTP, POP3, SNMP, ICMP, FTP dan SSH. Nagios akan menunjukkan semua informasi tersebut dalam sebuah layar tunggal yang menggunakan tampilan internet.
Pada kesempatan kali ini gw akan coba untuk melakukan instalasi Nagios Core 4.3.2 di atas CentOS 7. Adapun syarat sebelum melakukan instalasi adalah kita harus mempunyai superuser privileges dalam server CentOS dimana kita akan menjalankan nagios ini.
Instalasi Nagios 4.3.2
Langkah 1: Instalasi Paket-paket Penting
Kita perlu melakukan instalasi beberapa paket yang penting seperti apache, php dan beberapa paket lainnya yang mendukung instalasi Nagios Core nantinya. Gunakan perintah berikut untuk melakukan instalasi paket tersebut:
yum install httpd php gcc glibc glibc-comman gd gd-devel make net-snmp openssl-devel xinetd unzip -y

Langkah 2: Membuat User dan User Group untuk Nagios
Kita harus membuat sebuah user dan grup yang akan menjalankan proses Nagios. Buat sebuah user “nagios” dan grup “nagcmd” kemudian tambahkan user tersebut (dan user apache) ke dalam grup tersebut dengan perintah berikut:
useradd nagios passwd nagios groupadd nagcmd usermod -G nagcmd nagios usermod -G nagcmd apache

Langkah 3: Download dan Extract Paket Nagios Core
Download source code dari versi rilis Nagios Core terakhir dengan menggunakan perintah wget.
Pada saat tutorial ini di tulis, versi Nagios Core yang paling akhir dan paling stabil adalah versi 4.3.2
cd /opt wget -c https://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.3.2/nagios-4.3.2.tar.gz

Ekstrak paket tersebut
tar -zxvf nagios-4.3.2.tar.gz

Langkah 4: Instalasi Nagios Core
Sekarang kita sudah siap untuk melakukan instalasi nagios pada server kita. Masuk ke dalam folder hasil ekstraksi tadi dan kemudian konfigur dengan perintah berikut:
cd nagios-4.3.2 ls ./configure --with-command-group=nagcmd

Setelah itu compile Nagios dengan perintah berikut:
make all

Sekarang kita bisa menjalankan perintah berikut untuk install Nagios, init scripts, dan beberapa contoh file konfigurasi:
make install
make install-commandmode
make install-init
make install-config
make install-webconf




Langkah 5: Konfigurasi Nagios Core Web-Interface
Sekarang kita akan melakukan instalasi untuk web interface Nagios, karena kita akan menggunakan tampilan web untuk memonitoring resource dari sistem klien. Untuk meng-install-nya, jalankan perintah berikut:
make install-webconf

Web interface akan terinstal dengan default user bernama nagiosadmin namun tidak memiliki passowrd. Kita akan memberikan password untuk user tersebut dengan perintah:
htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Langkah 6: Konfigurasi Alert Email
Meskipun ini sifatnya opsional, namun alangkah baiknya apabila tahapan ini dikerjakan. Dengan mengkonfigur email yang akan menerima alert pada nagios, kita akan terus terjaga selama 24/7. cara mengkonfigurasinya:
vi /usr/local/nagios/etc/objects/contacts.cfg
Kemudian pada bagian email, kita masukkan alamat email yang ingin dikirimkan alert oleh nagios

Kemudian restart service apache agar semua konfigurasi tadi dapat terlihat
systemctl restart httpd
Langkah 7: Install Nagios Plugin
Pada 6 langkah di atas, kita sudah berhasil melakukan instalasi Nagios Core. Sekarang saatnya melakukan instalasi Nagios Plugin karena tanpa plugin tersebut kita tidak bisa memonitor resources yang tersedia.
Download Nagios Plugin versi yang paling akhir. Pada saat tutorial ini dibuat, versi paling akhir adalah nagios-plugins-2.2.1. Copy URL-nya kemudian download paketnya dengan menggunakan perintah wget.
cd /opt wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Setelah berhasil di-download, extract file tersebut dengan perintah:
tar -zxvf nagios-plugins-2.2.1.tar.gz

Masuk ke dalam folder hasil ekstraksi tersebut kemudian konfigur
cd nagios-plugins-2.2.1
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

Sekarang compile dan kemudian install dengan perintah berikut:
make make install
Langkah 8: Verifikasi Nagios Files
Langkah terakhir ini adalah untuk memverifikasi Konfigurasi Nagios terhadap file sample konfigurasi
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Hasil keluarannya haruslah seperti berikut:

Konfigurasi Nagios
Sekarang mari mulai konfigurasi awal Nagios. Kita hanya perlu melakukan ini satu kali pada Nagios Server
Mengatur Konfigurasi Nagios
Buka konfigurasi utama nagios dengan menggunakan editor favorit anda. Pada contoh ini saya akan menggunakan vi untuk mengedit file berikut:
vi /usr/local/nagios/etc/nagios.cfg
Setelah itu cari baris berikut dan hapus komentar pada baris tersebut dengan menghapus tanda “#”
#cfg_dir=/usr/local/nagios/etc/servers
Simpan kemudian exit. Folder tersebut merupakan folder yang akan kita gunaan untuk menyimpan konfigurasi server yang akan kita monitoring. Ada beberapa konfigurasi lainnya pada file nagios.cfg tersebut untuk memonitoring printer, router, dan juga switch. Silahkan aktifkan apabila kalian memiliki kepentingan untuk memonitoring bagian-bagian tersebut.
Setelah itu sekarang kita kan membuat folder tersebut. Caranya:
mkdir /usr/local/nagios/etc/servers
Mengatur perintah check_nrpe
Mari tambahkan perintah baru pada konfigurasi nagios
vi /usr/local/nagios/etc/objects/commands.cfg
dan kemudian tambahkan konfigurasi berikut pada bagian paling akhir file:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
simpan dan kemudian keluar. Perintah tersebut memungkinkan kita untuk menggunakan perintah check_nrpe pada Nagios Service Definitions.
Konfigurasi Apache
Nagios sudah siap untuk dijalankan. Restart Apache
systemctl start nagios.service
systemctl restart httpd.service
systemctl status httpd.service

Agar Nagios dapat berjalan ketika server ini menyala setelah reboot, jalankan perintah berikut:
systemctl enable nagios systemctl enable httpd

(Opsional) Jika kita ingin membatasi IP Address yang dapat mengakses halaman Web Nagios, kita harus mengedit konfigurasi file Apache:
vi /etc/httpd/conf.d/nagios.conf
Temukan baris berikut dan kemudian coment baris tersebut dengan menambahkan tanda # di depan baris tersebut:
Order allow,deny
Allow from all
Setelah itu, kita akan meng-uncomment baris di bawahnya, kali ini dengan menghapus simbol # pada ketiga baris berikut dan kemudian tambahkan alamat IP yang kita izinkan pada baris yang paling terakhir:
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
Kurang lebih hasilnya akan seperti ini:

Karena baris tersebut muncul sebanyak 2x pada nagios.conf, kita harus mengubah keduanya dan membuatnya seperti gambar di atas.
Simpan kemudian keluar
Mengakses Halaman Web Nagios
Buka browser kemudian masukkan alamat Nagios Server
http://ip_atau_domain_nagios/nagios
Namun, kurang efektif apabila kita harus menambahkan /nagios setelah domain atau alamat IP kita. untuk me-redirect /nagios ke halaman utama dari apache caranya hanya dengan menambahkan link pada /var/www/html.
cd /var/www/html/ ln -sf /usr/local/nagios/share/ nagios1 ls

Link sudah terbuat, sekarang waktunya mengarahkan apache agar mengakses link nagios1 yang ada pada folder /var/www/html.
vi /etc/httpd/conf/httpd.conf
ubah document root menjadi
DocumentRoot "/var/www/html/nagios1"
restart apache
service httpd restart
Buka kembali browser kemudian masukkan alamat Nagios Server
http://ip_atau_domain_nagios
Karena kita mengkonfigurasi apache agar menggunakan htpasswd, kita harus memasukan user dan password untuk bisa login. Gunakan “nagiosadmin” untuk usernamenya dan masukkan password yang sudah kita setting sebelumnya:

Setelah Proses autentikasi, kita akan melihat halaman utama dari Nagios. Pilih link Hosts pada navigasi bar yang ada di sebelah kiri untuk melihat Host yang sedang dimonitoring:

Seperti yang kita lihat, nagios memonitoring hanya localhost alias dirinya sendiri.
Mari kita tambahkan host untuk dimonitoring pada Nagios Server ini!!!
Monitor CentOS 7 Host dengan NRPE
Pada bagian ini, saya akan coba menunjukkan cara untuk menambahkan host pada Nagios Server sehingga bisa dimonitor. Lakukan ini pada setiap server CentOS yang ingin kalian monitor.
Install EPEL repository
yum install epel-release

Install Nagios Plugins dan NRPE
yum install nrpe nagios-plugins-all

Sekarang kita akan sedikit melakukan perubahan pada konfigurasi file nrpe. Gunakan editor yang kalian suka (dalam hal ini saya menggunakan vi)
vi /etc/nagios/nrpe.cfg
Temukan allowed_host dan kemudian tambahkan IP Address dari Nagios Server yang akan memonitor server ini.

Save kemudian keluar.
Restart NRPE agar perubahan yang kita lakukan tadi dapat bekerja
systemctl start nrpe.service
systemctl enable nrpe.service

Setelah selesai instal dan konfigur NRPE pada host yang ingin kita monitor, sekarang kita harus menambahkan host tersebut ke dalam konfigurasi Nagios Server sebelum kita memulai untuk memonitoringnya.
Menambahkan Host pada Konfigurasi Nagios Server
Pada Nagios Server, buat sebuah file baru untuk setiap host yang ingin kita monitor di /usr/local/nagios/etc/servers/ (folder yang sudah kita buat pada tahapan sebelumnya). Sebagai contoh kita akan membuat file dengan nama dns.cfg
vi /usr/local/nagios/etc/servers/dns.cfg
Kalian bisa mengganti nama dns.cfg dengan nama lain.
Tambahkan definisi host tersebut, ganti nama host_name dengan nama host dari remote host. nilai alias dengan deskripsi dari host tersebut, dan address dengan IP dari remote host.
define host {
use linux-server
host_name host_kamu.contoh.com
alias host_kamu
address 123.212.112.121
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
Dengan konfigurasi di atas, Nagios akan memonitor apakah Host ini Up atau Down. Jika amu menganggap ini sudah cukup maka simpan konfigurasi ini dan keluar. Kalau mau menambahkan konfigurasi lainnya, silahkan melanjutkan membacanya ya 🙂
Tambahkan service-service berikut yang kamu inginkan. perintah check_command merupakan penjelasan mengenai perintah apa yang kamu buat untuk dimonitor. Berikut ini adalah contohnya:
Ping
define service {
use generic-service
host_name nama_host_yg_mau_kamu_monitor
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
SSH
define service {
use generic-service
host_name nama_host_yg_mau_kamu_monitor
service_description SSH
check_command check_ssh
notifications_enabled 0
}
Check Disk
define service{
use generic-service
host_name nama_host_yg_mau_kamu_monitor
service_description ROOT SPACE
check_command check_nrpe!check_disk
}
CPU Load
define service{
use generic-service
host_name nama_host_yg_mau_kamu_monitor
service_description CPU LOAD
check_command check_nrpe!check_load
}
RAM
define service{
use generic-service
host_name nama_host_yg_mau_kamu_monitor
service_description Check RAM
check_command check_nrpe!check_mem
}
Zombie Proses
define service{
use generic-service
host_name nama_host_yg_mau_kamu_monitor
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}
Check HTTP
define service{
use generic-service
host_name nama_host_yg_mau_kamu_monitor
service_description HTTP
check_command check_http
}
Penjelasan untuk Check Disk, RAM, CPU Load, zombie Process dan HTTP akan dijelaskan lebih detail di post berikutnya. setelah konfigurasi selesai maka simpand dan keluar.
dan untuk membuat perubahan tersebut di-reload oleh Nagios. Jalankan perintah berikut:
systemctl reload nagios.service
Setelah itu, masuk kembali ke halaman web dari Nagios Server dan pilih services pada menu di sebelah kiri. Sekarang seharusnya host baru sudah ada di layar monitor Nagios.

Itu tadi sedikit tutorial mengenai instalasi Nagios Core dan bagaimana menambahkan Host yang ingin dimonitor aktivitasnya.
sampai jumpa di postingan selanjutnya ya 🙂

Comments are closed.