Instalasi Nagios di Centos 4

10 10 2008

Apa itu Nagios?

Nagios merupakan sebuah sistem dan aplikasi monitoring jaringan yang diciptakan oleh Ethan Galstad (http://nagios.org). Nagios mengawasi host-host dan servis yang telah ditetapkan, memberi peringatan jika keadaan memburuk, dan memberi tahu kapan keadaan tersebut membaik. Nagios adalah tool network monitoring system open source yang terbaik. Nagios bersifat modular, mudah digunakan, dan memiliki skalabilitas tinggi. Modul atau plugin pada nagios sangat simple.

Beberapa fitur-fitur Nagios :
1. Monitoring servis (SMTP, POP3, HTTP, PING, dll)
2. Servis cek yang paralel
3. Pemberitahuan ketika terjadi masalah pada servis atau host dan mendapatkan pemecahannya ( lewat email, atau metode user-defined)
4. Desain plugin yang serderhana, yang mengijinkan pengguna untuk lebih mudah menggunakan pemeriksaan terhadap servisnya
5. Perputaran file log yang otomatis
6. Web interface yang informatif untuk melihat status network, urutan masalah dan pemberitahuan, log file, dsb).

I. Instalasi.

Pada artikel ini saya menggunakan system operasi Centos 4 dan berjalan dengan baik. Dari pada kita berpanjang lebar lebih baik kita mulai saja, sebelum melakukan instalasi nagios ini pastikan dulu server anda sudah memiliki web server, disini saya asumsikan server anda sudah memiliki web server jadi saya tidak menjelaskan lagi cara-cara instalasi web server.
Baik kita mulai aja lagi ya…oh ya, sebelum mulai siapkan dulu rokok, kopi, snack biar konfigurasinya nanti bisa tambah asyik…hehehe

Tahap-tahap instalasi:

1. Membuat user dan group nagios:
[root@heri ~]# useradd -s /bin/false -d /opt/nagios nagios
[root@heri ~]# groupadd nagcmd
[root@heri ~]# usermod -G nagcmd nagios
[root@heri ~]# usermod -G nagcmd apache

2. Membuat direktori download yang di gunakan untuk menyimpan hasil downloadan nagiosnya:
[root@heri ~]# mkdir /downloads

3. Pindah direktori ke direktori download:
[root@heri ~]# cd /downloads

4. Download paket nagios dari web site resmi nya atau dari mirror lain. Nagios dapat anda download di http://www.nagios.org/download.

5. Ekstrak hasil downloadan nya:
[root@heri downloads]# tar xzvf nagios-3.0.1.tar.gz

6. Pindah direktori ke direktori hasil ekstrakan di atas;
[root@heri downloads]# cd nagios-3.0.1

7. Tahap selanjutnya adalah tahap kompilasi nagiosnya:
[root@heri nagios-3.0.1]# ./configure --prefix=/opt/nagios –with-command-group=nagcmd
[root@heri nagios-3.0.1]# make all

8. Instalasi binaries, init script, contoh file konfigurasi dan menyeting permission pada direktori eksternal command:
[root@heri nagios-3.0.1]# make install
[root@heri nagios-3.0.1]# make install-init
[root@heri nagios-3.0.1]# make install-config
[root@heri nagios-3.0.1]# make install-commandmode

Sampai di sini jangan dulu menjalankan service nya karena masih ada step selanjutnya..OK…mari kita lanjutkan.

II. Konfigurasi Nagios.
Pada saat instalasi di atas semua contoh konfigurasi di copy kan ke directory /opt/nagios/etc. Yang perlu diedit diantaranya adalah file /opt/nagios/etc/objects/contacts.cfg, Berikut ini contoh nya:

1. [root@heri ~]# vi /opt/nagios/etc/objects/contacts.cfg
define contact{
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                  heri@heri.swiftco.net ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
define contactgroup{
contactgroup_name    admins
alias                            Nagios Administrators
members                     nagiosadmin
}

2. Tahap berikutnya adalah menginstal file konfigurasi web nagios kedalam direktori /etc/httpd/conf.d:
[root@heri ~]# make install-webconf

3. Membuat user account agar dapat login ke nagios, user account asumsikan nagiosadmin:
[root@heri ~]# htpasswd -c /opt/nagios/etc/htpasswd.users nagiosadmin

4. Kemudian restart service httpd nya
[root@heri ~]# service httpd restart

III. Kompilasi & instalasi nagios plugin

1. Pindah directory anda ke direktori download:
[root@heri ~]# cd /downloads/

2. Download nagios plugin dari situs resminya(http://www.nagios.org/download).

3. Ekstrak nagios-plugins:
[root@heri downloads]# tar xzvf nagios-plugins-1.4.11.tar.gz

4. Pindah ke direktori hasil ektrakan tersebut:
[root@heri downloads]# cd nagios-plugins-1.4.11

5. Tahap selanjutnya adalah masuk ke tahap kompilasi dan instalasi nagios plugin:
[root@heri nagios-plugins-1.4.11]# ./configure –prefix=/opt/nagios \
--with-nagios-user=nagios –with-nagios-group=nagios
[root@heri nagios-plugins-1.4.11]# make
[root@heri nagios-plugins-1.4.11]# make install

6. Kemudian, tambahkan nagios ke dalam system service agar ketika booting service langsung di jalankan:
[root@heri ~]# chkconfig --add nagios
[root@heri ~]# chkconfig nagios on

7. Untuk membuktikan apakah konfigurasi yang kita lakukan sudah berjalan dengan baik atau belum dapat kita lakukan verifikasi terlebih dahulu:
[root@heri ~]# /opt/nagios/bin/nagios -v /opt/nagios/etc/nagios.cfg

8. Apabila langkah verifikasi tersebut tidak mengalami error maka kita dapat melanjutkan ke tahap  selanjutnya, tapi apabila terdapat error maka coba cek terlebih dahulu file konfigurasi anda, mungkin ada kekeliruan.
root@heri ~]# service nagios start

9. Sebelum anda menjalankan nagios, pastikan hak akses dari folder nagios sudah di rubah menjadi 755.
root@heri ~]# chmod 755 /opt/nagios

10. Ok, sampai tahap ini anda sudah bisa mulai menggunakan nagios dengan cara mengetikkan http://localhost/nagios atau http://ip_anda/nagios (contoh: http://1.1.2.3/nagios). Kemudian akan muncul gambar seperti di bawah ini:

Gambar 1. Prompt Login Nagios.

11. Apabila anda berhasil login maka akan muncul halaman index dari nagios, seperti gambar di bawah ini:

Gambar 2. Halaman Index Nagios.

12. Kemudian anda dapat memanfaatkan menu-menu yang ada di sebelah kiri, gunakan sesuai kebutuhan anda. Sebagai contoh apabila anda klik menu Host Detail maka akan muncul seperti di bawah ini:

Gambar 3. Halaman host detail

IV. Manambahkan server yang akan di monitoring.

1. Untuk menambahkan server yang akan dimonitoring anda dapat mengcopy file sample konfigurasi localhost:
[root@heri ~]# cp /opt/nagios/etc/objects/localhost.cfg \
/opt/nagios/etc/objects/server_01.cfg
[root@heri ~]# vi /opt/nagios/etc/object/server_01.cfg
;Ini isi file serverA.cfg
define 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    server_01
alias              server_01
address         208.99.198.183
}
define service{
use                              local-service     ; Name of service template to use
host_name                  server_01
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     HTTP
check_command         check_http
notifications_enabled  0

2. Tahap selanjutnya adalah edit file /opt/nagios/etc/nagios.cfg. Tambahkan file server_01.cfg tadi ke dalam file ini:
# Definitions for monitoring the local (Linux) host
cfg_file=/opt/nagios/etc/objects/localhost.cfg
cfg_file=/opt/nagios/etc/objects/server_01.cfg

3. Langkah berikutnya adalah melakukan verifikasi untuk membuktikan apakah konfigurasi yang kita lakukan sudah benar, apabila terjadi error coba cek kembali file konfigurasi anda, jika tidak mengalami error maka akan muncul seperti dibawah ini:

[root@heri ~]# /opt/nagios/bin/nagios –v /opt/nagios/etc/nagios.cfg
Nagios 3.0.1
Copyright (c) 1999-2008 Ethan Galstad (http://www.nagios.org)
Last Modified: 04-01-2008
License: GPL
Reading configuration data...
Running pre-flight check on configuration data...
Checking services...
Checked 10 services.
Checking hosts...
Checked 3 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...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 24 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: 0
Total Errors:   0
Things look okay - No serious problems were detected during the pre-flight check

4. Restart service nagios anda:
[root@heri ~]# service nagios restart

5. Sekarang coba kita buktikan perubahan yang telah kita buat tadi apakah berjalan dengan lancar atau tidak. Buka kembali browser anda dan klik di bagian host detail atau service detail

Gambar 4. Halaman Host Detail

Gambar 5. Halaman Server Detail

Note:
Apabila status dari HTTP server anda adalah “WARNING” maka itu berarti server yang akan anda monitoring belum ada file index nya. Maka untuk itu buat terlebih dahulu file index.php nya:

[root@heri ~]# vi /var/www/html/index.php
<?php
echo “this is the index”;
?>

Atau apabila status HTTP anda ada “Tanda Silangnya (X)” maka itu berarti notificationnya dalam keadaan disable, maka anda perlu mengedit notificationnya:

[root@heri ~]# vi /opt/nagios/etc/objects/server_01.cfg
# Define a service to check HTTP on the local machine.
# Disable notifications for this service by default, as not all users may have HTTP enabled.
define service{
use                                     local-service         ; Name of service template to use
host_name                         server_01
service_description            HTTP
check_command                check_http
notifications_enabled        1 (ubah dari 0 ke 1)
}


Tindakan

Information

16 tanggapan

10 10 2008
rhesarhein

mantap betul tulisannya..
semoga gak terjebak mati lampu ya???
ha..ha..

10 10 2008
Heri Bambang Santoso

hahaha….
makasih..makasih…
tapi besok2 kalau pas shift jangan lupa pakai UPS za’. Biar bisa di save dulu tuh tutorial..hahahaha…

11 10 2008
ningnong

wew… suhu bang heri ini memang manteb… puanjang bgt tulisannya… :D
oke lah bond, gud lak di sono… :) btw, OS mu dsna apa aja??? mbok tulis yg pke ubuntu???

11 10 2008
yopi_cupid

nagios sama zenoss bagusan mana mas ya kira2.,dulu sempet ngoprek zenoss, tp setelah d include sama API ny google koq ga mau2.,maka ny mau jajal nagios.,mohon petuah ny suhu.

11 10 2008
Heri Bambang Santoso

@ Ningnong:
Ah bu ningnong bisa aja..hehehe…kemarin lagi pingin nulis jadi y ke enakan deh jadinya..:), km tuh yang lebih master dari aku, mbok aku y di ajari..
Aku sih sekarang lebih konsen ke CentOS jadi maaf kalau belum bisa kasih yang distro lain, entar deh aku coba buat pakai distro yang lain..

@ Yopi:
Wah kalau zenoss aku belum pernah nyoba yop, jadi belum bisa kasih tanggapan. Tapi kalau menurutku nagios bagus kalau di pakai buat monitoring service-service server kita, Soalnya di kantorku juga pakai nagios…hehehehe..

13 10 2008
ezZa

wah blog heri dah ado postingan baru lagi…

lamo dak maen ksini aku…

template jugo ganti…

sorry OOT…

hehehehe…

13 10 2008
Heri Bambang Santoso

hehehe…iyo nih udah lamo dak nyentuh blog, sekarang nak mulai ngisi blog lagi lah, kasian di cuekin trus blog aku..hahaha..

14 10 2008
ningnong

betewe, bond..
pke centos kan???
ajarin dunk buat apdet repo nya centos biar bisa yum… (parah mbok?)

aku nyoba g bisa2… (pke RHEL sie.. :P , tapi kan podho wae to??? hihii…)

21 10 2008
Heri Bambang Santoso

@ Ningnong:

Maaf nong baru di balas, soalnya kemarin lagi sibuk, lagi ngejar target..hehehe…
kan kalau mau update repo tinggal “yum update” kalau mau upgrade tinggal “yum upgrade”. ah mba ningnong bercanda nih…hehehehe…

22 10 2008
ningnong

bukan.. maksudnya masukin di list nya…
klo ubuntu kan /etc/apt/sources.list kan…

nah klo di centos gmn??? aku kog g bisa2 ngutek2 file yg kyk gtu, klo apdet apgred sie iya udah tau… gagal terus klo mo “yum update” hehehe.. wiii ngeri yg ngejer target… cie2…

makan2 bond.. ohiya.. ada doit vakasi rekruitmen jarkom neh.. relakan padaku po??? ;;)

22 10 2008
Heri Bambang Santoso

@ Ningnong:

Ooo..aku kirain yang mana nong, maaf salah persepsi..hehehe
File nya ada di /etc/yum.repos.d/CentOS-Base.repo
Trus kalau alamat repo nya udah di rubah y tinggal di “yum update”

Wah udah turun y vakasinya…hehehehe…y jangan di relakan ke km dong, kan km udah banyak tuh proyeknya, nah aku ini masih jadi gembel di jakarta…hehehe
tapi gimana aku ngambilnya ya nong?

22 10 2008
ningnong

nah makanya… relakan saja padaku bond… gimana??? seep2… OK mantab…
hyahahaha… tiyok g mau nransfer je… :(
gembel??? kamu???
ha??? awas bond, diaminin malaikat…

proyek ku banyak??? amien.. deh… :) doain yo bond…
klo dh sukses, jgn lupa sama kami2 ini…
:D

/etc/yum.repos.d/CentOS-Base.repo –> hmmm… aku salah utak atik kali y wktu itu??? hehehe… yah, trims tutor nya… teruslah berkarya… :P

22 10 2008
Heri Bambang Santoso

hahahaha……wah jangan di amin malaikat dong bisa bahaya tuh…
Wah kok g mau transfer nih…wah kacau nih..hehehehe
trus asisten2 yang lain dulu gmn yah ngirimnya??

Yups sama2, mungkin waktu itu lagi sibuk ngurusin proyek jadi g konsen ngoprek nagiosnya..hihihihi… :)

21 11 2008
Yoga

Pak Heri…nagios bisa juga untuk host tracking pada jaringan gak.. example, tracking host dengan ip address xxx.xxx.xxx.xxx dengan mac address xx-xx-xx-xx-xx. Kita bisa tracking host tsb melewati switch mana, router mana, sampai subnet mana…?

makasih pak jawabannya

4 05 2009
Heri Bambang Santoso

@yoga:

Wah kalau setau saya untuk kasus tersebut nagio g bisa melakukannya mas..

17 10 2009
rexy

Semua konfigurasi sudah udah ok, tidak ada error lagi. Tapi kenapa ketika membuka http://localhost/nagios tidak dapat terbuka?

Apa ada kesalahan yg lain lagi?

Tinggalkan sebuah tanggapan