EXPLORE YOUR INTERESTS

Rabu, 10 Desember 2014

Monitoring Jaringan menggunakan Nagios di Ubuntu 12.04 LTS

Semangat pagi konco-konco sedoyo...
Setelah seminggu free ngeblog karena ada interupsi UTS, kali ini saya hadir kembali  ke program semula, yaitu setor-setor laporan :D

Ok langsung saja, pernah denger NAGIOS sebelumnya? Kalau sudah pernah, sama saya juga baru-baru ini mendengar kata nagios. Kalau baru dengar, mari saya perkenalkan siapa, untuk apa, dan ngapain sih dia ?? 
Aduh duh kemana nih.. mentang-mentang baru UTS saraf-saraf pada berguguran. Back to topic..

Dari judulnya udah bisa ditebak dong kalo nagios dipake buat mantau suatu jaringan / sistem IT yang cara menkonfigurasinya dibantu pake OS ubuntu versi 12.04 LTS. Lebih jelasnya tentang nagios dan cara mengkonfigurasinya, yok simak kalimat-kalimat di bawah ini :)

Nagios

Ada banyak tool yang digunakan untuk melakukan pemantauan jaringan seperti SNMP dan MRTG, dan CACTI  yang sudah dibahas sebelumnya, serta Nagios yang sedang anda baca.

Nagios adalah tool (apllikasi) monitoring jaringan yang bersifat open source dan memiliki utilitas bandwidth. Aplikasi monitoring jaringan yang berbasis open source memiliki keunggulan , yaitu:


  • Gratis, kemampuannya tidak jauh berbeda dengan aplikasi berbayar
  • Soerce code didistribusikan secara bebas kepada publik sehingga terus mengalami pengembangan dan  perbaikan 
Nagios memiliki fasilitas alert bawaan untuk elemen yang dimonitor sehingga memungkinkan adanya perbaikan sebelum terjadi kerusakan pada sistem. Desain pluginnya juga sederhana sehingga user lebih mudah untuk memeriksa layanan yang disediakan.
Dengan nagios memungkinkan suatu organisasi dapat mengidentifikasi dan menyelesaikan masalah infrastruktur IT sebelum masalah tersebut menjadi fatal dan mempengaruhi proses bisnis.

Kemampuan

  • untuk mengawasi host-host dan layanan yang telah ditetapkan,
  • memberi peringatan jika keadaan memburuk dan memberi tahu kapan keadaan itu membaik.
  • memperbaiki masalah yang terdeteksi secara otomatis,
  • Upgrade infrastruktur sebelum outdated(sistem usang) menyebabkan kegagalan,
  • menanggapi masalah dari tanda-tanda awal  masalah, 
  • Mengkoordinasikan tanggapan tim teknis
  • memonitoring service jaringan seperti SNMP, POP3, HTTP, NNTP, PING, dsb.
  • memantau sumber-sumber host seperti load processor, penggunaan disk, dsb
  • mendefinisikan kejadian yang ditangani selama servis berlangsung untuk mempermudah pemecahan masalah.
  • memastikan SLA (Service Level Agreement) terpenuhi
  • memonitor seluruh infrastruktur IT untuk memastikan sistem, aplikasi, layanan berfungsi dengan baik 
Kekurangan nagios yaitu harus memasukkan device yang akan dimonitoring secara manual.dan tidak mampu menghasilkan laporan history aktivitas penggunaan bandwidth. 

Syarat sistem

  • Nagios dapat dijalankan di Linux/Unix, dan C compiler
  • menggunakan jaringan TCP/IP

Cara kerja

Monitoring


Staf IT mengkonfigurasi nagios untuk memantau komponen infrastruktur IT yang penting termasuk sistem metrik, protokol jaringan, aplikasi, layanan, server, dan infrastuktur jaringan.

Alerting 

Ketika komponen infrastruktur penting gagal, nagios mengirim peringatan  dan memulihkannya, memberi notice kepada administrator  terhadap peristiwa-peristiwa penting. Alarm dapat disampaikan melalui email, SMS, atau script khusus

Response

Staf IT menjawab alarm dan mulai memecahkan masalah dan menyelidiki alarm keamanan sesegera mungkin. 

Reporting


Report memberikan catatan/history perihal outages(padam), peristiwa, pemberitahuan, dan respon alarm untuk keperluan pemeriksaan. Adanya laporan membantu terpenuhinya SLA (Service Level Agreement) Anda.

Maintenance


Downtime yang dijadwalkan mencegah alarm selama pemeliharaan yang terjadwal dan meng-upgrade windows.

Planning


Tren dan grafik perencanaan kapasitas dan laporan memungkinkan user untuk mengidentifikasi upgrade infrastruktur yang diperlukan sebelum kegagalan terjadi.


Cara Konfigurasi Nagios di Ubuntu 12.04 LTS

Di sini yang memonitoring 4 PC tetangga dalam satu LAN

1. Buka aplikasi terminal, ketik sudo su untuk masuk ke super user dan masukkan password

2. Disarankan untuk mencek konfigurasi apache2 dan nagios3 terlebih dahulu
dpkg -l |grep apache2
dpkg -l |grep nagios3

dpkg -l : Untuk melihat daftar package  yang sudah terinstal di PC beserta versinya
|grep : untuk mencari file-file yang mengandung teks dengan kriteria yang diinginkan

3. Jika sudah terinstal sebaiknaya diremove terlebih dahulu untuk memastikan tidak ada konfigurasi sebelumnya sehingga tidak mengganggu konfigurasi yang akan kita buat.
apt-get remove apache2
apt-get remove nagios3

4. Install apache2 dan nagios3
apt get install apache2
apt get install nagios3

5. Jika proses instal selesai disarankan untuk meng-update 
apt-get update  

6. Lakukan konfigurasi localh host menggunakan nano atau gedit
gedit /etc/nagios3/conf.d/localhost_nagios2.cfg


7. Di bawah define host local, tambahkan define host tetangga  yang akan dimonitoring dan define services cript di bawah ini. Pada define host, edit host name dan address sesuai dengan nama dan IP address PC masing-masing. Pada define services, edit host name  pada masing-masing description. 
Jika ingin menambah jumlah PC yang akan dimonitoring tinggal menambahkan masing-masing define tersebut.


# 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 nia
address 172.16.30.38
}

define host{
use generic-host ; Name of host template$
host_name jartel2
alias srik
address 172.16.30.14
}

define host{
use generic-host ; Name of host template$
host_name jartel3
alias siska
address 172.16.30.27
}

define host{
use generic-host ; Name of host template$
host_name jartel4
alias ginting
address 172.16.30.32
}


# 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$
}


8. Kemudian lakukan konfigurasi host group
gedit /etc/nagios3/conf.d/hostgroups_nagios2.cfg

Ubah member yang telah dibuat pada localhost sebelumnya. 
Kemudian tambahkan define hostgroup untuk ping di bawah hostgroup terakhir dari hostgrup yang sudah ada sebelumnya ( di bawah define hostgroup ssh)

# 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
}

9. Setelah itu lakukan konfigurasi pada define servicenya
gedit /etc/nagios3/conf.d/services_nagios2.cfg 

tambahkan define services untuk ping di bawah define service ssh

#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 renotified

}


10. Restart nagios3
/etc/init.d/nagios3 restart

11. Setting password
sudo htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin



12. Buka browser. Ketik  http://localhost/nagios3
Setelah login dengan password tadi , muncul tampilan halaman  nagios.


13. Pilih Map untuk menampilkan PC tetangga yang domonitoring


Berdasarkan gambar di atas, host-host yang dimonitoring ada 4 sesuai dengan host tetangga yang telah dikonfigurasi sebelumnya, yaitu jartel1, jartel2, jartel3, dan jartel4. Keempat host tersebut dimonitoring oleh nagios admin. Double click pada salah satu host untuk melihat secara detil.

14. Menu Hosts 


Gambar di atasmenunjukkan status host yang sedang dimonitoring pada semua host grup secara detil mulai dari tanggal pengecekan, lamanya pengecekan, dan informasi status  ping  pada masing-masing host.

15. Menu Services


Menu services ini menampilkan status layanan semua host secara detil tentang current load, current users, http, ssh, dan ping apakah dalam kondisi OK, critical, warning atau unknown.

16. Host Groups


Gambar di atas menampilkan status layanan serta action pada tiap-tiap host yang dimonitoring. 








References

1. http://www.nagios.org/
2. http://fatihulhikmy.blogspot.com/2013/06/normal-0-false-false-false-en-us-x-none.html
3. http://egajarot.blogspot.com/2012/07/konfigurasinagios-3-pada-ubuntu-11.html

Tidak ada komentar:

Posting Komentar