nms with-nagios

12
By Henry Saptono <henry[at]nurulfikri.com> Network Monitoring System dengan Nagios By Henry Saptono <henry[at]nurulfikri.com> April 2008 Pendahuluan Konsep  Network Monitoring System (NMS) sebenarnya sederhana yaitu system ekstra atau kumpulan system yang memiliki tugas mengamati/memonitor system-system terhadap kemungkinan terjadinya masalah-masalah pada system tersebut untuk dapat dideteksi secara dini. Sebagai contoh, suatu monitoring system dapat secara periodic menghubungi suatu web server untuk menjamin adanya respon dari web server, jika tidak ada respon maka monitoring system kemudian mengirimkan pesan atau notifikasi ke administrator. NMS bagian dari network management. Jika NMS diterapkan dengan tepat dan benar maka NMS dapat menjadi sahabat baik Anda, namun jika sebaliknya maka NMS akan menjadi 'malapetaka' bagi Anda. Misalkan , NMS tentunya akan mengirimkan pesan/notifikasi ke email Anda atau mengirimkan pesan SMS ke HP Anda ketika terjadi suatu masalah atau ketika terjadi  krisis pada suatu system yang dimonitor. Jika Anda tidak tepat dalam menentukan kriteria krisis dari suatu system yang dimonitor  maka bisa jadi Anda akan mendapatkan email atau pesan SMS terus menerus dari NMS. Hal-hal yang bakal dimonitoring dalam network  tentunya akan sangat kompoleks, dan sistem monitoring yang baik seharusnya menyediakan hi story dan log yang memungkinkan kita membuat laporan, statistik dan graph dari masing-masing object yang dimonitoring sehingga sistem NMS yang digunakan memberikan kontribusi penuh dalam pendeteksian secara dini terhadap kemungkinan masalah-masalah yang timbul. Pertanyaan yang muncul adalah, adakah software atau program NMS yang memiliki fitur-fitur tersebut. Jawabannya Ada, salah satu software NMS yang terbaik dan open source yang dapat digunakan secara bebas di linux yaitu nagios (http://www.nagios.org/ ) Network Monitoring System dengan Nagios   - halaman 1

Upload: pt-pramindo-ikat-nusantara

Post on 15-Jun-2015

351 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Network Monitoring System dengan Nagios 

By Henry Saptono 

<henry[at]nurulfikri.com>

April 2008

PendahuluanKonsep Network Monitoring System (NMS) sebenarnya sederhana yaitu system ekstra atau kumpulan system yang memiliki tugas mengamati/memonitor system­system terhadap kemungkinan terjadinya masalah­masalah pada system tersebut untuk dapat dideteksi secara dini. Sebagai contoh, suatu monitoring system dapat secara periodic menghubungi suatu web server untuk menjamin adanya respon dari web server, jika tidak ada respon maka monitoring system kemudian mengirimkan pesan atau notifikasi ke administrator. NMS bagian dari network management. Jika NMS diterapkan dengan tepat dan benar maka NMS dapat menjadi sahabat baik Anda, namun jika sebaliknya maka NMS akan menjadi 'malapetaka' bagi Anda. Misalkan , NMS tentunya akan mengirimkan pesan/notifikasi ke email Anda atau mengirimkan pesan SMS ke HP Anda ketika terjadi suatu masalah atau ketika terjadi krisis pada suatu system yang dimonitor. Jika Anda tidak tepat dalam menentukan kriteria krisis dari suatu system yang dimonitor  maka bisa jadi Anda akan mendapatkan email atau pesan SMS terus menerus dari NMS. 

Hal­hal yang bakal dimonitoring dalam network  tentunya akan sangat kompoleks, dan sistem monitoring yang baik seharusnya menyediakan history dan log yang memungkinkan kita membuat laporan, statistik dan graph dari masing­masing object yang dimonitoring sehingga sistem NMS yang digunakan memberikan kontribusi penuh dalam pendeteksian secara dini terhadap kemungkinan masalah­masalah yang timbul. Pertanyaan yang muncul adalah, adakah software atau program NMS yang memiliki fitur­fitur tersebut. Jawabannya Ada, salah satu software NMS yang terbaik dan open source yang dapat digunakan secara bebas di linux yaitu nagios (http://www.nagios.org/)

Network Monitoring System dengan Nagios   ­ halaman 1

Page 2: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Nagios NMSNagios adalah tool network monitoring system open source yang terbaik. Nagios bersifat modular, mudah digunakan, dan memiliki skalablitas tinggi. Modul atau plugin pada nagios sangat simple Anda pun dapat membuatnya guna melengkapi system checking pada nagios sesuai dengan kebutuhan Anda. Untuk mendownload source nagios klik url ini http://www.nagios.org/download/

Nagios awalnya didesain untuk berjalan pada sistem operasi  Linux, namun dapat juga berjalan dengan baik hampir disemua  sistem operasi unix like.

Beberapa fitur­fitur yang tersedia pada Nagios diantaranya adalah: 

• Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.) 

• Monitoring of host resources (processor load, disk usage, etc.) 

• Simple plugin design that allows users to easily develop their own service checks 

• Parallelized service checks 

• Ability to define network host hierarchy using "parent" hosts, allowing detection of and distinction between hosts that are down and those that are unreachable 

• Contact notifications when service or host problems occur and get resolved (via email, pager, or user­defined method) 

• Ability to define event handlers to be run during service or host events for proactive problem resolution 

• Automatic log file rotation 

• Support for implementing redundant monitoring hosts 

• Optional web interface for viewing current network status, notification and problem history, log file, etc. 

Instalasi NagiosSebelum memulai instalasi pastikan Anda telah mendownload paket nagios dan pluggin yang terbaru dan paling stabil di http://www.nagios.org/download. Kemudian Anda harus terlebih dahulu menginstal aplikasi Apache HTTP server dan GD library serta library lainnya yang dibutuhkan saat instalasi dan saat nagios dijalankan nantinya. Sistem operasi linux yang digunakan disini diasumsikan Anda menggunakan Linux Fedora 6 atau CentOS 5. Berikut ini instruksi­instruksi instalasi nagios pada Fedora Core 6 (umumnya untuk distro lainnya tidak berbeda jauh):

● Membuat user dan group nagios, sebagai berikut:[root@labtop1 ~]# useradd -s /bin/false -d /opt/nagios nagios

Network Monitoring System dengan Nagios   ­ halaman 2

Page 3: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

● Membuat grup baru dengan nama nagcmd untuk memungkinkan external commands di submit melalui web interface. Tambahkan user nagios dan user apache ke group nagcmd. [root@labtop1 ~]#groupadd nagcmd[root@labtop1 ~]#usermod -G nagcmd nagios[root@labtop1 ~]# usermod -G nagcmd apache

● Download nagios  versi 3.0.1 (atau yang terbaru dan stabil), begitu juga plugin nagios versi 1.4.11 dari url ini http://www.nagios.org/download 

● Kemudian Ekstrak nagios sebagai berikut (diasumsikan nagios hasil download ada di /root/Desktop)

[root@labtop1 ~]# tar -xzvf /root/Desktop/nagios-3.0.1.tar.gz

● Selanjutnya mengkompilasi nagios sebagai berikut,

[root@labtop1 ~]# cd nagios-3.0.1[root@labtop1 nagios-3.0.1]# ./configure --prefix=/opt/nagios --with-command-group=nagcmd[root@labtop1 nagios-3.0.1]# make all

● Instalasi binaries, init script, contoh file konfigurasi dan menyeting permissions pada direktori external command, sebagai berikut; 

[root@labtop1 nagios-3.0.1]# make install[root@labtop1 nagios-3.0.1]# make install-init[root@labtop1 nagios-3.0.1]# make install-config[root@labtop1 nagios-3.0.1]# make install-commandmode

Sampai disini jangan dulu menjalankan nagios, karena masih ada beberapa hal yang harus dilakukan.

Konfigurasi nagiosPada saat instalasi diatas semua sample file konfigurasi nagios dikopikan ke direktori /opt/nagios/etc. Dengan sample file konfigurasi ini seharusnya nagios sudah dapat berjalan, hanya saja mungkin Anda perlu mengkustomisasi file konfigurasi tersebut agar lebih sesuai dengan skenario dan kebutuhan Anda. Yang perlu diedit diantaranya adalah file /opt/nagios/etc/objects/contacts.cfg, pada file ini Anda dapat mendefinisikan ulang informasi mengenai contact dan contactgroup . Berikut ini contoh isi file konfigurasi  /opt/nagios/etc/objects/contacts.cfg

define contact{

Network Monitoring System dengan Nagios   ­ halaman 3

Page 4: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user

email root@localhost; <<** isi dengan email Anda }

define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin }

● Konfigurasi interface web. Menginstal file konfigurasi web nagios kedalam direktori /etc/httpd/conf.d dengan cara sebagai berikut:

[root@labtop1 nagios-3.0.1]# make install-webconf

● Membuat user account nagiosadmin untuk dapat login ke interface web nagios :

[root@labtop1 nagios-3.0.1]# htpasswd -c /opt/nagios/etc/htpasswd.users \nagiosadmin

● Kemudian restart service apache http server agar membaca konfigurasi yang terbaru[root@labtop1 nagios-3.0.1]# service httpd restart

atau

[root@labtop1 nagios-3.0.1]# /etc/init.d/httpd restart

Kompilasi dan instalasi nagios plugin● Ekstrak nagios plugin sebagai berikut (diasumsikan nagios plugin  hasil download ada di 

/root/Desktop)

[root@labtop1 ~]# tar -xzvf /root/Desktop/nagios-plugins-1.4.11.tar.gz

● Selanjutnya mengkompilasi dan menginstal nagios sebagai berikut,

[root@labtop1 ~]# cd nagios-plugins-1.4.11[root@labtop1 nagios-plugins-1.4.11]#./configure –prefix=/opt/nagios \--with-nagios-user=nagios –with-nagios-group=nagios[root@labtop1 nagios-plugins-1.4.11]# make[root@labtop1 nagios-plugins-1.4.11]# make install

Network Monitoring System dengan Nagios   ­ halaman 4

Page 5: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Mengaktifkan nagios Tambahkan atau daftarkan Nagios kedalam daftar system service dan set nagios agar diaktifkan secara  otomatis saat booting. [root@labtop1 ~]# chkconfig --add nagios[root@labtop1 ~]# chkconfig nagios on

Verifikasi atau periksa file konfigurasi. [root@labtop1 ~]# /opt/nagios/bin/nagios -v /opt/nagios/etc/nagios.cfg

Jika dari verifikasi tidak ada pesan error, selanjutnya aktifkan Nagios. [root@labtop1 ~]# service nagios start

Selanjutnya Anda dapat mengakses inteface web nagios menggunakan web client dengan url http://localhost/nagios/ maka Anda akan mendapati window login seperti gambar 1 berikut:

Gambar 1. Window pop up untuk  login ke nagios web

Kemudian jika berhasil login maka Anda akan mendapati halaman utama nagios web seperti pada gambar 2.

Network Monitoring System dengan Nagios   ­ halaman 5

Page 6: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Gambar 2. halaman utama nagios web 

Pada halaman utama nagios web anda akan melihat daftar menu yang berada pada bagian kiri, setiap menu menampilkan informasi tentang status host­host yang dimonitor. Misalkan kita mencoba mengakses menu Host Detail untuk melihat informasi detail host yang dimonitor, seperti tampak pada gambar 3 (karena Anda menggunakan default sample config nagios maka Anda hanya akan melihat sebuah host yaitu localhost). Gambar 4 memperlihatkan halaman Status map semua host yang dimonitoring. 

Network Monitoring System dengan Nagios   ­ halaman 6

Page 7: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Gambar 3. halaman host detail nagios web 

Gambar 4. halaman Status map  nagios web 

Network Monitoring System dengan Nagios   ­ halaman 7

Page 8: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Menambah host yang akan dimonitoringPada konfigurasi default, nagios hanya memonitor sebuah host  yaitu localhost. Tentunya kita akan memonitor juga host lainnya. Untuk memonitor host lainnya Anda harus membuat file konfigurasi monitoring host tersebut. Caranya sebagai berikut:

● Salinlah file konfigurasi untuk monitoring host localhost  sebagai berikut: [root@labtop1 ~]# cp /opt/nagios/etc/objects/localhost.cfg \/opt/nagios/etc/objects/serverA.cfg

● Kemudian edit dan sesuaikan konfigurasi yang Anda iniginkan untuk serverA, apa saja service yang akan Anda monitoring, contoh kita akan memonitoring serverA (192.168.1.1) , service yang akan dimonitoring adalah ping, ssh dan http, dengan konfigurasi sebagai berikut:

[root@labtop1 ~]# vi /opt/nagios/etc/objects/serverA.cfg;Ini isi file serverA.cfgdefine host{ use linux-server ; Name of host template to use ; This host definition will inherit all variables that are defined ; in (or inherited by) the linux-server host template definition. host_name serverA alias serverA address 192.168.1.1 }

define service{ use local-service ; Name of service template to use host_name serverA service_description PING check_command check_ping!100.0,20%!500.0,60% }

define service{ use local-service ; Name of service template to use host_name serverA service_description SSH check_command check_ssh notifications_enabled 0 }

define service{ use local-service ; Name of service template to use host_name serverA service_description HTTP check_command check_http notifications_enabled 0

Network Monitoring System dengan Nagios   ­ halaman 8

Page 9: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

}

● Kemudian dengan skenario bahwa serverA adalah masuk dalam hostgroup linux­servers, maka Anda perlu mengedit bagian definisi hostgroup yang ada pada file localhost.cfg dengan menambahkan serverA sebagai member dari hostgroup linux­server , sebagai berikut:

[root@labtop1 ~]# vi /opt/nagios/etc/objects/localhost.cfg

define hostgroup{ hostgroup_name linux-servers ; The name of the hostgroup alias Linux Servers ; Long name of the group members localhost, serverA ; Comma separated list of hosts that belong to this group }

● Selanjutnya Anda harus mengedit file /opt/nagios/etc/nagios.cfg, untuk menambahkan entri konfigurasi host serverA dibawah baris “cfg_file=/opt/nagios/etc/objects/localhost.cfg”, sehingga menjadi sebagai berikut:

# Definitions for monitoring the local (Linux) hostcfg_file=/opt/nagios/etc/objects/localhost.cfgcfg_file=/opt/nagios/etc/objects/serverA.cfg

● Setelah itu Anda verifikasi apakah konfigurasi yang telah Anda lakukan valid atau benar (tidak ada error), dengan cara sebagai berikut:

[root@labtop1 ~]# /opt/nagios/bin/nagios -v /opt/nagios/etc/nagios.cfg

Nagios 3.0.1Copyright (c) 1999-2008 Ethan Galstad (http://www.nagios.org)Last Modified: 04-01-2008License: GPL

Reading configuration data...

Running pre-flight check on configuration data...

Checking services... Checked 11 services.Checking hosts... Checked 2 hosts.Checking host groups... Checked 1 host groups.Checking service groups... Checked 0 service groups.Checking contacts... Checked 1 contacts.Checking contact groups... Checked 1 contact groups.Checking service escalations... Checked 0 service escalations.Checking service dependencies...

Network Monitoring System dengan Nagios   ­ halaman 9

Page 10: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Checked 0 service dependencies.Checking host escalations... Checked 0 host escalations.Checking host dependencies... Checked 0 host dependencies.Checking commands... Checked 25 commands.Checking time periods... Checked 5 time periods.Checking for circular paths between hosts...Checking for circular host and service dependencies...Checking global event handlers...Checking obsessive compulsive processor commands...Checking misc settings...

Total Warnings: 0Total Errors: 0

Things look okay - No serious problems were detected during the pre-flight check

● Terakhir, Anda harus restart service nagios agar membaca konfigurasi terbaru, sebagai berikut:

[root@labtop1 ~]# service nagios restartRunning configuration check...done.Stopping nagios: done.Starting nagios: done.

● Sekarang coba Anda lihat melalui web browser , pada menu Host Detail atau Service Detail maka akan tampak seperti gambar 5 dan 6 berikut ini:

Network Monitoring System dengan Nagios   ­ halaman 10

Page 11: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Gambar 5. Host Detail dengan 2 host dimonitoring 

Gambar 6. Service Detail dengan 2 host dimonitoring

Network Monitoring System dengan Nagios   ­ halaman 11

Page 12: Nms with-nagios

By Henry Saptono <henry[at]nurulfikri.com>

Untuk menambahkan host lainnya yang akan dimonitor Anda dapat melakukan hal yang sama. Untuk mengetahui plugin (checking_system) apa saja yang tersedia dapat dilihat pada folder /opt/nagios/libexec. Konfigurasi command checking_system dapat Anda lihat pada file /opt/nagios/etc/objects/commands.cfg.

Network Monitoring System dengan Nagios   ­ halaman 12