Anda di halaman 1dari 12

ByHenrySaptono<henry[at]nurulfikri.

com>

NetworkMonitoringSystemdenganNagios
ByHenrySaptono <henry[at]nurulfikri.com> April2008

Pendahuluan
KonsepNetworkMonitoringSystem(NMS)sebenarnyasederhanayaitusystemekstraataukumpulan systemyangmemilikitugasmengamati/memonitorsystemsystemterhadapkemungkinanterjadinya masalahmasalahpadasystemtersebutuntukdapatdideteksisecaradini.Sebagaicontoh,suatu monitoringsystemdapatsecaraperiodicmenghubungisuatuwebserveruntukmenjaminadanya respondariwebserver,jikatidakadaresponmakamonitoringsystemkemudianmengirimkanpesan ataunotifikasikeadministrator.NMSbagiandarinetworkmanagement.JikaNMSditerapkandengan tepatdanbenarmakaNMSdapatmenjadisahabatbaikAnda,namunjikasebaliknyamakaNMSakan menjadi'malapetaka'bagiAnda.Misalkan,NMStentunyaakanmengirimkanpesan/notifikasike emailAndaataumengirimkanpesanSMSkeHPAndaketikaterjadisuatumasalahatauketikaterjadi krisispadasuatusystemyangdimonitor.JikaAndatidaktepatdalammenentu kankriteriakrisisdari suatusystemyangdimonitormakabisajadiAndaakanmendapatkanemailataupesanSMSterus menerusdariNMS. Halhalyangbakaldimonitoringdalamnetworktentunyaakansangatkompoleks,dansistem monitoringyangbaikseharusnyamenyediakanhi torydanlogyangmemungkinkankitamembuat s laporan,statistikdangraphdarimasingmasingobjectyangdimonitoringsehinggasistemNMSyang digunakanmemberikankontribusipenuhdalampendeteks iansecaradiniterhadapkemungkinan masalahmasalahyangtimbul.Pertanyaanyangmunculadalah,adakahsoftwareatauprogramNMS yangmemilikifiturfiturtersebut.JawabannyaAda,salahsatusoftwareNMSyangterbaikdanopen sourceyangdapatdigunakansecarabebasdilinuxyaitunagios(http://www.nagios.org/)

NetworkMonitoringSystemdenganNagioshalaman1

ByHenrySaptono<henry[at]nurulfikri.com>

NagiosNMS
Nagiosadalahtoolnetworkmonitoringsystemopensourceyangterbaik.Nagiosbersifatmodular, mudahdigunakan,danmemilikiskalablitastinggi.Modulataupluginpadanagiossangatsimple Andapundapatmembuatnyagunamelengkapisystemcheckingpadanagiossesuaidengan kebutuhanAnda.Untukmendownloadsourcenagiosklikurlinihttp://www.nagios.org/download/ NagiosawalnyadidesainuntukberjalanpadasistemoperasiLinux,namundapatjugaberjalan denganbaikhampirdisemuasistemoperasiunixlike. BeberapafiturfituryangtersediapadaNagiosdiantaranyaadalah:

Monitoringofnetworkservices(SMTP,POP3,HTTP,NNTP,PING,etc.) Monitoringofhostresources(processorload,diskusage,etc.) Simpleplugindesignthatallowsuserstoeasilydeveloptheirownservicechecks Parallelizedservicechecks Abilitytodefinenetworkhosthierarchyusing"parent"hosts,allowingdetectionofand distinctionbetweenhoststhataredownandthosethatareunreachable Contactnotificationswhenserviceorhostproblemsoccurandgetresolved(viaemail,pager, oruserdefinedmethod) Abilitytodefineeventhandlerstoberunduringserviceorhosteventsforproactiveproblem resolution Automaticlogfilerotation Supportforimplementingredundantmonitoringhosts Optionalwebinterfaceforviewingcurrentnetworkstatus,notificationandproblemhistory, logfile,etc.

InstalasiNagios
SebelummemulaiinstalasipastikanAndatelahmendownloadpaketnagiosdanplugginyangterbaru danpalingstabildihttp://www.nagios.org/download.KemudianAndaharusterlebihdahulu menginstalaplikasiApacheHTTPserverdanGDlibrarysertalibrarylainnyayangdibutuhkansaat instalasidansaatnagiosdijalankannantinya.Sistemoperasilinuxyangdigunakandisinidiasumsikan AndamenggunakanLinuxFedora6atauCentOS5.Berikutiniinstruksiinstruksiinstalasinagios padaFedoraCore6(umumnyauntukdistrolainnyatidakberbedajauh):

Membuatuserdangroupnagios,sebagaiberikut:
[root@labtop1 ~]# useradd -s /bin/false -d /opt/nagios nagios

NetworkMonitoringSystemdenganNagioshalaman2

ByHenrySaptono<henry[at]nurulfikri.com>

Membuatgrupbarudengannamanagcmduntukmemungkinkanexternalcommandsdi submitmelaluiwebinterface.Tambahkanusernagiosdanuserapachekegroupnagcmd.
[root@labtop1 ~]#groupadd nagcmd [root@labtop1 ~]#usermod -G nagcmd nagios [root@labtop1 ~]# usermod -G nagcmd apache

Downloadnagiosversi3.0.1(atauyangterbarudanstabil),begitujugapluginnagiosversi 1.4.11dariurlinihttp://www.nagios.org/download KemudianEkstraknagiossebagaiberikut(diasumsikannagioshasildownloadadadi /root/Desktop)


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

Selanjutnyamengkompilasinagiossebagaiberikut,

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

Instalasibinaries,initscript,contohfilekonfi urasidanmenyetingpermissionspadadirektori g externalcommand,sebagaiberikut;


nagios-3.0.1]# nagios-3.0.1]# nagios-3.0.1]# nagios-3.0.1]# make make make make install install-init install-config install-commandmode

[root@labtop1 [root@labtop1 [root@labtop1 [root@labtop1

Sampaidisinijangandulumenjalankannagios,karenamasihadabeberapahalyangharusdilakukan.

Konfigurasinagios
Padasaatinstalasidiatassemuasamplefilekonfigurasinagiosdikopikankedirektori/opt/nagios/etc. Dengansamplefilekonfigurasiiniseharusnyanagiossu dahdapatberjalan,hanyasajamungkinAnda perlumengkustomisasifilekonfigurasitersebutagarlebihsesuaidenganskenariodankebutuhan Anda.Yangperludieditdiantaranyaadalahfile/opt/nagios/etc/objects/contacts.cfg,padafileini Andadapatmendefinisikanulanginformasimengenaicontactdancontactgroup.Berikutinicontoh isifilekonfigurasi/opt/nagios/etc/objects/contacts.cfg

define contact{ NetworkMonitoringSystemdenganNagioshalaman3

ByHenrySaptono<henry[at]nurulfikri.com> contact_name nagiosadmin use generic-contact from generic-contact template (defin ed above) alias Nagios Admin email } define contactgroup{ contactgroup_name alias members } ; Short name of user ; Inherit default values

; Full name of user

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

admins Nagios Administrators nagiosadmin

Konfigurasiinterfaceweb.Menginstalfilekonfigurasiwebnagioskedalamdirektori /etc/httpd/conf.ddengancarasebagaiberikut:

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

Membuatuseraccountnagiosadminuntukdapatloginkeinterfacewebnagios:

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

Kemudianrestartserviceapachehttpserveragarmembacakonfigurasiyangterbaru

[root@labtop1 nagios-3.0.1]# service httpd restart

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

Kompilasidaninstalasinagiosplugin

Ekstraknagiospluginsebagaiberikut(diasu msikannagiospluginhasildownloadadadi /root/Desktop)

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

Selanjutnyamengkompilasidanmenginstalnagiossebagaiberikut,

[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 NetworkMonitoringSystemdenganNagioshalaman4

ByHenrySaptono<henry[at]nurulfikri.com>

Mengaktifkannagios
TambahkanataudaftarkanNagioskedalamdaftarsystemservicedansetnagiosagardiaktifkan secaraotomatissaatbooting.
[root@labtop1 ~]# chkconfig --add nagios [root@labtop1 ~]# chkconfig nagios on

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

Jikadariverifikasitidakadapesanerror,selanjutnyaaktifkanNagios.
[root@labtop1 ~]# service nagios start

SelanjutnyaAndadapatmengaksesintefacewebnagiosmenggunakanwebclientdenganurl http://localhost/nagios/makaAndaakanmendapatiwindowloginsepertigambar1berikut:

Gambar1.Windowpopupuntukloginkenagiosweb

KemudianjikaberhasilloginmakaAndaakanmendapatihalamanutamanagioswebsepertipada gambar2.

NetworkMonitoringSystemdenganNagioshalaman5

ByHenrySaptono<henry[at]nurulfikri.com>

Gambar2.halamanutamanagiosweb Padahalamanutamanagioswebandaakanmelihatdaftarmenuyangberadapadabagiankiri,setiap menumenampilkaninformasitentangstatushosthostyangdimonitor.Misalkankitamencoba mengaksesmenuHostDetailuntukmelihatinformasidetailhostyangdimonitor,sepertitampak padagambar3(karenaAndamenggunakandefaultsampleconfignagiosmakaAndahanyaakan melihatsebuahhostyaitulocalhost).Gambar4memperlihatkanhalamanStatusmapsemuahost yangdimonitoring.

NetworkMonitoringSystemdenganNagioshalaman6

ByHenrySaptono<henry[at]nurulfikri.com>

Gambar3.halamanhostdetailnagiosweb

Gambar4.halamanStatusmapnagiosweb
NetworkMonitoringSystemdenganNagioshalaman7

ByHenrySaptono<henry[at]nurulfikri.com>

Menambahhostyangakandimonitoring
Padakonfigurasidefault,nagioshanyamemonitorsebuahhostyaitulocalhost.Tentunyakitaakan memonitorjugahostlainnya.UntukmemonitorhostlainnyaAndaharusmembuatfilekonfigurasi monitoringhosttersebut.Caranyasebagaiberikut:

Salinlahfilekonfigurasiuntukmonitoringhostlocalhostsebagaiberikut:

[root@labtop1 ~]# cp /opt/nagios/etc/objects/localhost.cfg \ /opt/nagios/etc/objects/serverA.cfg

Kemudianeditdansesuaikankonfi urasiyangAndainiginkanuntukserverA,apasaja g serviceyangakanAndamonitoring,contohkitaakanmemonitoringserverA(192.168.1.1), serviceyangakandimonitoringadalahping,sshdanhttp,dengankonfigurasisebagaiberikut :

[root@labtop1 ~]# vi /opt/nagios/etc/objects/serverA.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 serverA alias serverA address 192.168.1.1 } define service{ use service template to use host_name service_description check_command }

local-service

; Name of

serverA PING check_ping!100.0,20%!500.0,60%

define service{ use service template to use host_name service_description check_command notifications_enabled } define service{ use service template to use host_name service_description check_command notifications_enabled

local-service serverA SSH check_ssh 0

; Name of

local-service serverA HTTP check_http 0

; Name of

NetworkMonitoringSystemdenganNagioshalaman8

ByHenrySaptono<henry[at]nurulfikri.com> }

Kemudiandenganskenario ahwaserverAadalahmasukdalamhostgrouplinuxservers, b makaAndaperlumengeditbagiandefinisihostgroupyangadapadafilelocalhost.cfgdengan menambahkanserverAsebagaimemberdarihostgrouplinuxserver,sebagaiberikut:

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

SelanjutnyaAndaharusmengeditfile/opt/nagios/etc/nagios.cfg,untukmenambahkanentri konfigurasihostserverAdibawahbariscfg_file=/opt/nagios/etc/objects/localhost.cfg, sehinggamenjadisebagaiberikut:

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

SetelahituAndaverifikasiapakahkonfigurasiyangtelahAndalakukanvalidataubenar (tidakadaerror),dengancarasebagaiberikut:

[root@labtop1 ~]# /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 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... NetworkMonitoringSystemdenganNagioshalaman9

ByHenrySaptono<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: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check

Terakhir,Andaharusrestartservicenagiosagarmembacakonfigurasiterbaru,sebagai berikut:

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

SekarangcobaAndalihatmelaluiwebbrowser,padamenuHostDetailatauServiceDetail makaakantampaksepertigambar5dan6berikutini:

NetworkMonitoringSystemdenganNagioshalaman10

ByHenrySaptono<henry[at]nurulfikri.com>

Gambar5.HostDetaildengan2hostdimonitoring

Gambar6.ServiceDetaildengan2hostdimonitoring
NetworkMonitoringSystemdenganNagioshalaman11

ByHenrySaptono<henry[at]nurulfikri.com>

UntukmenambahkanhostlainnyayangakandimonitorAndadapatmelakukanhalyangsama.Untuk mengetahuiplugin(checking_system)apasajayangtersediadapatdilihatpadafolder /opt/nagios/libexec.Konfigurasicommandchecking_systemdapatAndalihatpadafile /opt/nagios/etc/objects/commands.cfg.

NetworkMonitoringSystemdenganNagioshalaman12

Anda mungkin juga menyukai