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
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
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
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
Konfigurasiinterfaceweb.Menginstalfilekonfigurasiwebnagioskedalamdirektori /etc/httpd/conf.ddengancarasebagaiberikut:
Membuatuseraccountnagiosadminuntukdapatloginkeinterfacewebnagios:
Kemudianrestartserviceapachehttpserveragarmembacakonfigurasiyangterbaru
atau
[root@labtop1 nagios-3.0.1]# /etc/init.d/httpd restart
Kompilasidaninstalasinagiosplugin
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>
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 ~]# 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
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
; Name of
; Name of
NetworkMonitoringSystemdenganNagioshalaman8
ByHenrySaptono<henry[at]nurulfikri.com> }
[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 }
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>
NetworkMonitoringSystemdenganNagioshalaman12