1. Pengertian Nagios
Nagios merupakan salah satu network monitoring tools
yang paling handal untuk kategori monitoring sistem. Meskipun termasuk sulit
dalam mengkonfigurasinya karena tidak disertai dengan panduan yang lengkap, namun
software ini cukup lengkap dari dukungan perangkat-perangkat yang dapat
dimonitoring. Dalam hal metode pelaporan atau alert nagios memberikan opsi bisa
ke email, sms, dan dokumen cetak.
Nagios merupakan suatu host
dan service yang di desain untuk memonitoring keadaan suatu jaringan atau bisa
memonitoring masalah-masalah pada suatu host tertentu yang ingin kita
monitoring. Nagios mengawasi host-host dan servis yang telah ditetapkan,
memberi peringatan jika keadaan memburuk, dan memberi tahu kapan keadaan
tersebut membaik.
2. Kelebihan Nagios
- Memonitoring
servis jaringan (SMTP, POP3, HTTP, NNTP, PING, dsb)
- Servis
cek yang paralel
- Mendukung
implementasi monitoring dengan host
- Web
interface yang fakultatip untuk melihat status network, urutan masalah dan
pemberitahuan, log file, dsb)
- Memonitoring
sumber-sumber host (load prosesor, penggunaan disk, dsb)
- Desain
plugin yang sederhana, yang mengizinkan pengguna untuk lebih mudah
menggunakan pemeriksaan terhadap servisnya
- Kemampuan
untuk mendefinisikan kejadian yang ditangani selama servis / host
berlangsung untuk mempermudah pemecahan masalah Perputaran file log yang
otomatis.
3. Langkah-langkah Instalasi dan Konfigurasi Nagios 3
1.Langkah pertama masuk ke terminal Ubuntu, ketikkan perintah berikut :
# sudo su
# masukkan password ubuntu
sudo adalah program yang terdapat di linux yang digunakan untuk menjalankan
perintah yang membutuhkan akses dari akun root. Sudo hanya dapat digunakan oleh
user yang sudah terdaftar di file /etc/sudoers. Sudo su memberikan kewenangan
agar user biasa dapat bertingkah seperti super user (sudo--> super user do)
sehingga user biasa pun dapat leluasa "menguasai sistem".
2.NEXT masuk ke root, lakukan pengecekan pada Apache2 dan Nagios3
dengan perintah berikut :
# dpkg -I lgrep apache2 untuk cek apache2
# dpkg -I lgrep nagios3 untuk cek nagios 3
Perintah dpkg merupakan salah satu package manager yang dapat kita gunakan
untuk melakukan management (install/uninstall).
3. Dan penginstalan Apache 2 dan Nagios 3 telah dilakukan, ada baiknya
me-remove nya terlebih dahulu untuk memastikan tidak ada konfigurasi yang telah
dilakukan sebelumnya, lakukan perintah berikut :
# apt-get remove apache2
# apt-get remove nagios3
4.Bila paket-paket tersebut belum ter-install, maka install terlebih dahulu
dengan memasukkan perintah :
# apt-get install apache2
# apt-get install nagios3
5.Kemudian pada saat install nagios3 akan muncul konfigurasi password untuk
administrasi webnya seperti berikut :
6.Kemudianmelakukan konfigurasi pada local hostnya. Dengan mengetikkan
perintah seperti berikut :
# nano /etc/nagios3/conf.d/fati.cfg
Pada konfigurasi ini, penulis akan memonitoring 4 jaringan yang berada satu
LAN dengan penulis yaitu aper(jartel1), alvid (jartel2), ilham(jartel3), dan
hamdani(jartel4).
Konfigurasi pada local host ini dapat dilakukan seperti di bawah ini :
# 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;
host_name Jartel1
alias aper
address 172.16.30.49
}
define host{
use generic-host;
host_name Jartel2
alias alvid
address 172.16.30.45
}
define host{
use generic-host;
host_name Jartel3
alias ilham
address 172.16.30.48
}
define host{
use generic-host
host_name Jartel4
alias hamdani
address 172.16.30.35
}
# 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;
host_name jartel1
service_description Disk Space
check_command check_all_disks!20%!10
}
define service{
use generic-service;
host_name jartel2
service_description Disk Space
check_command check_all_disks!20%!10
}
define service{
use generic-service;
host_name jartel3
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service;
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;
host_name jartel1
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service;
host_name jartel2
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service
host_name jartel3
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service
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;
host_name jartel1
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service;
host_name jartel2
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service;
host_name jartel3
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service;
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;
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;
host_name jartel2
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;
host_name jartel3
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;
host_name jartel4
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0!4.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;
host_name Jartel1
alias aper
address 172.16.30.49
}
define host{
use generic-host;
host_name Jartel2
alias alvid
address 172.16.30.45
}
define host{
use generic-host;
host_name Jartel3
alias ilham
address 172.16.30.48
}
define host{
use generic-host
host_name Jartel4
alias hamdani
address 172.16.30.35
}
# 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;
host_name jartel1
service_description Disk Space
check_command check_all_disks!20%!10
}
define service{
use generic-service;
host_name jartel2
service_description Disk Space
check_command check_all_disks!20%!10
}
define service{
use generic-service;
host_name jartel3
service_description Disk Space
check_command check_all_disks!20%!10%
}
define service{
use generic-service;
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;
host_name jartel1
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service;
host_name jartel2
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service
host_name jartel3
service_description Current Users
check_command check_users!20!50
}
define service{
use generic-service
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;
host_name jartel1
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service;
host_name jartel2
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service;
host_name jartel3
service_description Total Processes
check_command check_procs!250!400
}
define service{
use generic-service;
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;
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;
host_name jartel2
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;
host_name jartel3
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;
host_name jartel4
service_description Current Load
check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0
}
7. Setelah itu akan lanjutkan langkah konfigurasi dengan mengetik :
# nano /etc/nagios3/conf.d/hostgroup_nagios2.cfg
kemudian lakukan konfigurasi seperti berikut :
# 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
}
8. Setelah itu lakukan konfigurasi pada servicenya, dengan cara seperti di bawah ini :
#nano /etc/nagios3/conf.d/services_nagios2.cfg
Lakukan konfigurasi seperti berikut :
#check that web services are running
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 renotifi$
}
9. Setelah konfigurasi pada local host, host groups, dan services selesai, lakukan restart.
# /etc/init.d/nagios3 restart
10. Untuk mensetting password baru sesuai dengan yang anda inginkan, ketikkan seperti di bawah ini :
# sudo htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
11. Buka browser, kemudian buka link ini http:/localhost/nagios3 , maka akan muncul tampilan seperti di bawah ini :
# nano /etc/nagios3/conf.d/hostgroup_nagios2.cfg
kemudian lakukan konfigurasi seperti berikut :
# 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
}
8. Setelah itu lakukan konfigurasi pada servicenya, dengan cara seperti di bawah ini :
#nano /etc/nagios3/conf.d/services_nagios2.cfg
Lakukan konfigurasi seperti berikut :
#check that web services are running
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 renotifi$
}
9. Setelah konfigurasi pada local host, host groups, dan services selesai, lakukan restart.
# /etc/init.d/nagios3 restart
10. Untuk mensetting password baru sesuai dengan yang anda inginkan, ketikkan seperti di bawah ini :
# sudo htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
11. Buka browser, kemudian buka link ini http:/localhost/nagios3 , maka akan muncul tampilan seperti di bawah ini :
12. Kemudian masukkan username : admin dan passwordnya : ****
13. Setelah login, akan masuk ke halaman Nagios3 seperti berikut :
13. Setelah login, akan masuk ke halaman Nagios3 seperti berikut :
14. Kemudian klik MAP pada bagian kanan halaman Nagios, maka akan muncul tampilan host tetangga yang telah dikonfigurasi tadi. Berikut tampilan hasilnya :
15. Monitoring telah dapat dilakukan dengan menggunakan nagios. Jika masih ada jaringan yang Down, maka tunggu beberapa saat untuk jaringan tersebut Up. Monitoring dapat dilakukan dalam beberapa tampilan. Disini penulis memonitoring 4 jaringan yang berada satu LAN dengan penulis, yaitu aper (jartel1),alvid (jartel2), ilham (jartel3), dan hamdani (jartel4). Berikut hasil monitoringnya :
a. Host Status Detail for All Groups
a. Host Status Detail for All Groups
b. Service Status for All Groups
Ket data gambar :
Untuk gambar-gambar diatas menggunakan fitur-fitur seperti Status Map, Hosts, HostGroups, dan Services, Problem, dan Report.
Berikut penjelasan satu-satu tentang
fitur-fitur yang digunakan :
- Status Map
Status Map merupakan fitur yang dapat digunakan untuk mengetahui
jaringan local yang akan dimonitoring. Selain itu, juga dapat dilihat jaringan
mana saja yang sudah dalam keadaan DOWN, PENDING, dan UP. Seperti terlihat pada
gambar, jaringan yang berwarna Hijau merupakan jaringan yang sudah UP.
Sedangkan untuk jaringan yang berwarna Merah adalah jaringan yang masih PENDING
atau DOWN. Jaringan yang masih PENDING bisa saja terjadi karena PC yang baru
dihidupkan. Jaringan yang DOWN terjadi karena PC pada jaringan tersebut dalam
keadaan shut down (mati), sehingga ketika dilakuka monitoring jaringan tersebut
dalam keadaan Down.
- Hosts
Host biasanya merupakan perangkat fisik dalam suatu jaringan seperti
router, switch, printer, PC, dan sebagainya. Selain itu Host mempunyai alamat
sendiri seperti IP Address atau MAC Address. Pada fitur Host ini dapat dilihat
status dari jaringan yang lebih detail dalam hostgroupnya.
- HostsGroups
Hostgroups merupakan grup untuk beberapa host. Pada
Hostgroup ini dapat dilihat juga rincian-rincian status dari host-host yang
termasuk ke dalam hostgroup.Untuk gambar di bawah ini merupakan Status Summary
For All Host Groups. Di sini kita dapat melihat rincian berapa host yang telah
Up dan berapa host yang masih down.
- Services
Services adalah atribut dari host yang ditetapkan oleh host pula,
seperti DNS Record, dll. Pada konfigurasi yang saya lakukan ada tujuh services
yang digunakan, yaitu Current Load, Current Users, Disk Space, HTTP, PING, SSH
dan Total Processes. Ketujuh service ini lah yang akan dimonitoring oleh host
dalam suatu jaringan.
- Problems
Pada fitur problem ini dapat dilihat beberapa submenu, yaitu Services
(Unhandled), Hosts (Unhandled), dan Network Outages. Dari fitur-fitur
tersebutlah kita dapat melihat rincian masalah yang terjadi pada konfigurasi
yang telah kita lakukan untuk monitoring dari host-host yang telah kita
konfigurasi.
- Report
Pada fitur Report ini saya memilih report untuk hostgroup pada tiap
servicesnya, seperti Hostgroup Ping-Servers, SSH-Servers, HTTP-Servers, dan
Debian-Servers. Fungsi Report adalah untuk mengetahui gangguan yang terjadi
pada tiap services hostgroup, sehingga dapat diketahui persen dari Time Up,
Time Down, Time Unreachable, dan Time Undetermined.
Sumber Referensi :
1. Dikutip dari Modul Praktikum Manajemen Jaringan
2. Dikutip dari
http://nae14.blogspot.com/2013/06/instalasi-nagios-3-pada-ubuntu-1204-lts.html.
Tidak ada komentar:
Posting Komentar