NAGIOS3
Nagios adalah tool network monitoring system open source yang terbaik. Nagios bersifat modular, mudah digunakan, dan memiliki skalabilitas tinggi. Modul atauplugin pada nagios sangat simple. Kita pun dapat membuatnya guna melengkapisystem checking pada Nagios sesuai dengan kebutuhan kita.
Nagios awalnya didesain untuk berjalan pada sistem operasi Linux, namun dapat juga berjalan dengan baik hampir disemua sistem operasi unix like.
FITUR NAGIOS
· Memonitoring network services (SMTP, POP3, HTTP, NNTP, PING, etc.)
· Memonitoring sumber host (load processor, pemakaian disk, etc.)
· Design plugin yang simple sehingga memudahkan user untuk pemeriksaan terhadap servicenya.
· Service check yang paralel.
· Kemampuan menentukan hirarki jaringan host menggunakan “parent” hosts, memberikan deteksi dan perbedaan antara host yang down dan yang tidak terjangkau.
· Pemberitahuan ketika terjadi masalah pada service atau host dan mendapatkan pemecahannya (via email, pager, atau metode yang ditetapkan pengguna).
· Kemampuan untuk menentukan event handlers yang dijalankan selama perbaikan.
· Perputaran file log yang otomatis.
· Mendukung implementasi monitoring dengan host yang berlebih.
· Pilihan web interface untuk melihat status jaringan terkini, notification dan problem history, log file, dll.
Langkah Kerja dan Hasil
1. Membuka terminal ubuntu dan masuk pada akses root dengan mengetikkan perintah
$sudo su kemudian masukan password ubuntu anda
2. Setelah masuk pada root ubuntu cek paket apache 2 dan nagios 3 pada ubuntu
$ dpkg –l |grep apache2 > cek APACHE2
$ dpkg –l |grep nagios3 > cek NAGIOS3
3. Apabila telah terinstall apache2 dan nagios3 maka disarankan kita melakukan remove
pada paket tersebut untuk mereset apache2 dan nagios 3 dengan cara menghapus
paket paket tersebut, Untuk meremove paket dapat mengetikkan perintah berikut
$ apt-get remove apache
$ apt-get remove nagios3
4. Kemudian install apache dan nagios3 dengan mengetikkaan perintah berikut
$ apt-get install apache2
$ apt-get install nagios3
Saat kita melakukan instal apache2 dan nagios3 pastikan pc kita terhubung dengan jar
ingan internet karena kita akan mengambil data instalan dan update melalui server ubun
tu , server yang saya gunakan melalu server kambing pada ubuntu
5. Setelah install selesai masukkan password untuk administrator nagios
5. Untuk konfigurasi host yang akan dimonitoring dapat dilakukan dengan perintah berikut
nano /etc/nagios3/conf.d/localhost_nagios3.cfg
· Menambahkan define host tetangga dibawah define host local atau bisa juga dengan
cara mengcopy file localhost_nagios2.cfg dengan nama lain asalkan nama pada local
host tetap ada. Hal ini agar fungsi tidak hilang.
· Mengedit host name atau address sesuai dengan nama dan IP tetangga.
· Menambahkan define service host tetangga untuk masing-masing service description.
# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#
define host{
use generic-host ; Name of host template$
host_name jartel1
alias Maruli
address 172.16.30.16
}
define host{
use generic-host ; Name of host template$
host_name jartel2
alias Katarina
address 172.16.30.43
}
define host{
use generic-host ; Name of host template$
host_name jartel3
alias Ajo
address 172.16.30.23
}
define host{
use generic-host ; Name of host template$
host_name jartel4
alias Tyo
address 172.16.30.22
}
# Define a service to check the disk space of the root partition
# on the local machine. Warning if < 20% free, critical if
# < 10% free space on partition.
define service{
use generic-service ; Name of servi$
host_name jartel1
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service ; Name of servi$
host_name jartel2
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service ; Name of servi$
host_name jartel3
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service ; Name of servi$
host_name jartel4
service_description Disk Space
check_command check_all_disks!20%!10%
}
# Define a service to check the number of currently logged in
# users on the local machine. Warning if > 20 users, critical
# if > 50 users.
define service{
use generic-service ; Name of servi$
host_name jartel1
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service ; Name of servi$
host_name jartel2
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service ; Name of servi$
host_name jartel3
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service ; Name of servi$
host_name jartel4
service_description Current Users
check_command check_users!20!50
}
# Define a service to check the number of currently running procs
# on the local machine. Warning if > 250 processes, critical if
# > 400 processes.
define service{
use generic-service ; Name of servi$
host_name jartel1
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service ; Name of servi$
host_name jartel2
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service ; Name of servi$
host_name jartel3
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service ; Name of servi$
host_name jartel4
service_description Total Processes
check_command check_procs!250!400
}
# Define a service to check the load on the local machine.
define service{
use generic-service ; Name of service template to use
host_name jartel1
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0
}
define service{
use generic-service ; Name of servi$
host_name jartel2
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0$
}
define service{
use generic-service ; Name of servi$
host_name jartel3
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0$
}
define service{
use generic-service ; Name of servi$
host_name jartel4
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0$
}
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#
define host{
use generic-host ; Name of host template$
host_name jartel1
alias Maruli
address 172.16.30.16
}
define host{
use generic-host ; Name of host template$
host_name jartel2
alias Katarina
address 172.16.30.43
}
define host{
use generic-host ; Name of host template$
host_name jartel3
alias Ajo
address 172.16.30.23
}
define host{
use generic-host ; Name of host template$
host_name jartel4
alias Tyo
address 172.16.30.22
}
# Define a service to check the disk space of the root partition
# on the local machine. Warning if < 20% free, critical if
# < 10% free space on partition.
define service{
use generic-service ; Name of servi$
host_name jartel1
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service ; Name of servi$
host_name jartel2
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service ; Name of servi$
host_name jartel3
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service ; Name of servi$
host_name jartel4
service_description Disk Space
check_command check_all_disks!20%!10%
}
# Define a service to check the number of currently logged in
# users on the local machine. Warning if > 20 users, critical
# if > 50 users.
define service{
use generic-service ; Name of servi$
host_name jartel1
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service ; Name of servi$
host_name jartel2
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service ; Name of servi$
host_name jartel3
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service ; Name of servi$
host_name jartel4
service_description Current Users
check_command check_users!20!50
}
# Define a service to check the number of currently running procs
# on the local machine. Warning if > 250 processes, critical if
# > 400 processes.
define service{
use generic-service ; Name of servi$
host_name jartel1
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service ; Name of servi$
host_name jartel2
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service ; Name of servi$
host_name jartel3
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service ; Name of servi$
host_name jartel4
service_description Total Processes
check_command check_procs!250!400
}
# Define a service to check the load on the local machine.
define service{
use generic-service ; Name of service template to use
host_name jartel1
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0
}
define service{
use generic-service ; Name of servi$
host_name jartel2
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0$
}
define service{
use generic-service ; Name of servi$
host_name jartel3
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0$
}
define service{
use generic-service ; Name of servi$
host_name jartel4
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0$
}
6. Selanjutnya Kita melakukan settingan pada hostgroupnya dengan mengetikkan perintah
berikut
nano /etc/nagios3/conf.d/hostgroup_nagios2.cfg
keterangan
- Menambahkan define hostgroup untuk melakukan ping
- Ubah members sesuai dengan host yang ingin kita monitoring atau localhost yang
telah kita buat
# Some generic hostgroup definitions
# A simple wildcard hostgroup
define hostgroup {
hostgroup_name all
alias All Servers
members jartel1,jartel2,jartel3,jartel4
}
# A list of your Debian GNU/Linux servers
define hostgroup {
hostgroup_name debian-servers
alias Debian GNU/Linux Servers
members jartel1,jartel2,jartel3,jartel4
}
# A list of your web servers
define hostgroup {
hostgroup_name http-servers
alias HTTP servers
members jartel1,jartel2,jartel3,jartel4
}
# A list of your ssh-accessible servers
define hostgroup {
hostgroup_name ssh-servers
alias SSH servers
members jartel1,jartel2,jartel3,jartel4
}
#A list of your ping-accessible servers
define hostgroup {
hostgroup_name ping-servers
alias ping servers
members jartel1,jartel2,jartel3,jartel4
}
# A simple wildcard hostgroup
define hostgroup {
hostgroup_name all
alias All Servers
members jartel1,jartel2,jartel3,jartel4
}
# A list of your Debian GNU/Linux servers
define hostgroup {
hostgroup_name debian-servers
alias Debian GNU/Linux Servers
members jartel1,jartel2,jartel3,jartel4
}
# A list of your web servers
define hostgroup {
hostgroup_name http-servers
alias HTTP servers
members jartel1,jartel2,jartel3,jartel4
}
# A list of your ssh-accessible servers
define hostgroup {
hostgroup_name ssh-servers
alias SSH servers
members jartel1,jartel2,jartel3,jartel4
}
#A list of your ping-accessible servers
define hostgroup {
hostgroup_name ping-servers
alias ping servers
members jartel1,jartel2,jartel3,jartel4
}
7. Setelah konfigurasi di save, lakukan konfigurasi hostgroup_name dengan mengetikkan
perintah berikut
nano /etc/nagios3/conf.d/services_nagios2.cfg
keterangan = kita akan menambahkan hostgroup name untuk http-server, ssh-server dan
ping server
define service {
hostgroup_name http-servers
service_description HTTP
check_command check_http
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
# check that ssh services are running
define service {
hostgroup_name ssh-servers
service_description SSH
check_command check_ssh
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
# check that ping services are running
define service {
hostgroup_name ping-servers
service_description ping
check_command check_ping
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
hostgroup_name http-servers
service_description HTTP
check_command check_http
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
# check that ssh services are running
define service {
hostgroup_name ssh-servers
service_description SSH
check_command check_ssh
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
# check that ping services are running
define service {
hostgroup_name ping-servers
service_description ping
check_command check_ping
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
8. Setelah konfigurasi di save kita harus melakukan restrat nagios dengan mengetikkan
perintah sebagai berikut
/etc/init.d/nagios3 restart
9. Mengetikkan perintah berikut untuk membuat password baru
htpasswd –c /etc/nagios3/htpaswd.users nagiosadmin
Masukkan password yang diinginkan sesuai keinginan adiministrator
10. Membuka browser ubuntu dan mengetik perintah berikut pada browsing url
http:/localhost/nagios3
11. Kemudian masukkan password yang sudah kita buat pada langkah 9 dan masukkan
username nagiosadmin
12. Setelah kita berhasil login maka akan muncul tampilan beranda nagios3 pada browser
13. Mengklik MAP pada tab sebelah kiri browser maka akan terlihat tampilah host host yang
telah kita buat
14. Klik host pada sebelah kiri browser untuk melihat PC host yang sedang beroperasi
status UP menandakan PC sedang beroperasi atau hidup sedangkan status down
menandakan PC sedang tidak beroperasi atau mati
Sehingga denga nagios3 ini administrator dapat melakukan monitoring kualitas jaringan seperti network service (HTTP,SSH dan ping) memonitoring penggunaan processor dan lain lain dan dengan nagios3 ini kita dapat memonitorin problem yang terjadi pada suatu network