Pages

Minggu, 07 Desember 2014

Instalasi dan Konfigurasi Nagios 3 pada Ubuntu

1. Landasan Teori
1.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.

1.2 Keistimewaan 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.

2. 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. Pada saat dijalankan sudo akan meminta password user yang menjalankan sudo tersebut, tetapi bisa juga dibuat untuk meminta password root atau tanpa password sama sekali. Secara default password yang dimasukkan tadi akan disimpan selama 15 agar dalam waktu 15 menit kedepan anda tidak perlu lagi memasukkan password jika menggunakan sudo.
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.Selanjutnya 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). Perintah dpkg banyak macamnya, salah satunya adalah dpkg -I yang merupakan perintah untuk melihat daftar package yang telah terinstall beserta versi package yang terinstall dan deskripsinya.
Sedangkan Igrep digunakan untuk mencari file-file yang mengandung teks dengan kritik yang telah ditentukan.
Paket-paket tersebut dibutuhkan untuk dapat menginstall Nagios dengan sempurna dan dapat menghasilkan grafik yang diinginkan.

3.Apabila 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.Langkah selanjutnya melakukan 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
}


6. 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 :




12. Kemudian masukkan username : admin dan passwordnya : ****
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



b.  Service Status for All Groups




Keterangan 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. Di dalam fitur Host ini juga terdapat fitur-fitur yang lain untuk melihat lebih rinci host yang telah dikonfigurasi.

  • 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.

0 komentar:

Posting Komentar