Nagios 3.2 監控部署(一)

一、nagios簡介nagios是一款用於系統和網絡監控的應用程序,它可以在你的設定的條件下對主機和服務進行監控,在狀態變差和變好的時候可以給管理員出告警信息。nagios所需要的運行條件是機器必須可以運行linux(或是unix變種)並且有c語言編譯器。你必須正確地配置tcp/ip協議棧以使大多數的服務檢測可以通過網絡得以進行。如果需要正確地配置nagios裏的cgis程序,必須安裝以下這些軟件:web服務(最好是apachethomas boutell製作的gd庫版本應是1.6.3或更高(在cgis程序模塊statusmaptrends這兩個模塊裏需要這個庫)還有一個就是ssl這一個工具,在安裝nrpe這一個包時需要,因爲在監控其他主機的時候是通過ssl連接來接收數據的;網絡環境:主機IPOS角色nagios192.168.0.10rhel5.1監控服務器win2003192.168.0.100windows server 2003被監控主機linux192.168.0.102rhel5.1被監控主機準備軟件:apache2.2.14//下載地址http://httpd.apache.org/download.cginagios3.2.0nagios plugins1.4.14nrpe2.12上面三個都可以在這個網站上找到http://www.nagios.org/downloadnsclient++-0.3.6-win32.msi//如果要監控windows的主機,還要下載nsclient這一個客戶端工具,下載地址:http://sourceforge.net/projects/nscplus/確認郵件是否能正常發送,我用的是sendmail,確認服務已經啓動,下面發一封測試郵件到指定郵箱:mail –s “this is test mail” [email protected]this is nagios test mailokctrl + d 結束輸入。檢查一下自大的郵箱,看到郵件之後就可以繼續以下的環節了。
把所有的工具都下載到src目錄下面:wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gzwget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gzwget http://apache.etoak.com/httpd/httpd-2.2.14.tar.gz二、開始安裝1、安裝apachetarxvfhttpd-2.2.14.tar.gzcdhttpd-2.2.14./configure--prefix=/usr/local/apache2makemake install/usr/local/apache/bin/apachectl start//由於是沒有改動的配置文件,可以直接啓動netstat –an |grep 80//檢查80端口是否已經開啓了或者是在別的機子上輸入服務器的ip地址,當看到”it works!”時表明apache已經安裝成功了2、安裝nagios先添加一個nagios的賬號useradd nagios -s /sbin/nologin//有的文章說要啓用賬號,其實不用也可以,因爲這個賬號不需要登錄tarxvfnagios-3.2.0.tar.gzcdnagios-3.2.0./configure--prefix=/usr/local/nagios--with-nagios-user=nagios --with-nagios-group=nagiosmake allmake installmake install-init///etc/rc.d/init.d安裝啓動腳本make install-config//安裝示例配置文件,安裝的路徑是/usr/local/nagios/etcmake install-commandmode//配置目錄權限安裝完成nagios後就可以在/usr/local/nagios下面看到這幾個目錄:bin存放nagios執行程序,nagios文件爲主程序etc配置文件存放目錄libexec存放一些腳本程序sbincgi文件所在目錄,也就是執行外部命令所需文件所在的目錄share網頁文件存放位置var日誌文件、spid 等文件所在的目錄3、安裝nagios插件tar xvfnagios-plugins-1.4.14.tar.gzcd nagios-plugins-1.4.14./configure--prefix=/usr/local/nagios//注意了,是放在/usr/local/nagios 裏,別搞錯了makemake installchown –R nagios:nagios /usr/local/nagios//改一下文件的屬組#這樣的話那些插件都會扔到nagios/libexec下面去三、修改配置文件1、修改apache的配置文件,我只把改的地方貼出來vi/usr/local/apache2/conf/httpd.confUser nagios//apache運行用戶改成 nagiosGroup nagios//apache運行組改成 naios#把下面的內容增加到文件的最後:Scriptalias /nagios/cgi-bin /usr/local/nagios/sbin<directory "/usr/local/nagios/sbin">Authtype basicOptions execcgiAllowoverride noneOrder allow,denyAllow from allAuthname "nagios access"Authuserfile /usr/local/nagios/etc/htpasswd//用於此目錄訪問身份驗證的文件Require valid-user</directory>Alias /nagios /usr/local/nagios/share<directory "/usr/local/nagios/share">Authtype basicOptions noneAllowoverride noneOrder allow,denyAllow from allAuthname "nagios access"Authuserfile /usr/local/nagios/etc/htpasswd//用於此目錄訪問身份驗證的文件Require valid-user</directory>別忘記了重啓apache服務喔。。。。2、修改cgi腳本控制文件cgi.cfgvi/usr/local/nagios/etc/cgi.cfguse_authentication=1//打開驗證default_user_name=testauthorized_for_system_information=nagiosadmin,testauthorized_for_configuration_information=nagiosadmin,testauthorized_for_system_commands=nagiosadmin,testauthorized_for_all_services=nagiosadmin,testauthorized_for_all_hosts=nagiosadmin,testauthorized_for_all_service_commands=nagiosadmin,testauthorized_for_all_host_commands=nagiosadmin,test//這裏添加的用戶”test”可以通過瀏覽器對nagios服務的關閉、重啓等操作,在這裏爲了安全也可以把nagiosadmin這一個用戶給刪掉,如果有多個用戶用逗號隔開,如:nagiosadmin,test/usr/local/apache2/bin/htpasswd c /usr/local/nagios/etc/htpasswd testnew password: 輸入你的密碼retype new password: 再次確認adding password for user test//這裏給前面添加的用戶設置密碼測試一下,輸入你的http://你的服務器IP/nagios之後會彈出以下界面:200910161255683613170.jpg在這裏輸入你剛剛設置的用戶名密碼,就可以登錄你的監控平臺了,如下:200910161255683625467.jpg由於我們目前是沒有監控任何的主機,所以目前還是看不到什麼有用的東西的。所以說呢,接下來繼續配置其他的配置文件;3、配置nagios主配置文件在這裏定義後面的配置文件的保存路徑,下面只貼修改部分vi /usr/local/nagios/etc/nagios.cfgcfg_file=/usr/local/nagios/etc/objects/commands.cfg#cfg_file=/usr/local/nagios/etc/objects/contacts.cfg //這一行註釋掉,爲了方便管理,我們重新寫一個聯繫人的配置文件cfg_file=/usr/local/nagios/etc/contacts.cfg//指定聯繫人配置文件路徑cfg_file=/usr/local/nagios/etc/contactgroups.cfg //指定聯繫人組配置文件路徑#cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg//註釋掉,用自己寫的監視時段配置文件cfg_file=/usr/local/nagios/etc/timeperiods.cfg //指定監視時段配置文件路徑cfg_file=/usr/local/nagios/etc/objects/templates.cfg//指定臨時配置文件路徑cfg_file=/usr/local/nagios/etc/services.cfg//服務配置文件路徑#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg //註釋掉,cfg_file=/usr/local/nagios/etc/hosts.cfg//主機配置文件路徑cfg_file=/usr/local/nagios/etc/hostgroups.cfg//主機組配置文件路徑check_external_commands=1//web界面下重啓nagios,停止主機/服務檢查操作,默認關閉;command_check_interval=10s//定義這個命令檢查時間間隔,默認是1秒;4、配置timeperiods.cfg文件這是個服務器監控時間段的配置文件,一般都是全天24小時,名稱是24x7;vi /usr/local/nagios/etc/timeperiods.cfgdefine timeperiod{timeperiod_name24x7alias24 hours a day,7days a weeksunday00:00-24:00monday00:00-24:00tuesday00:00-24:00wednesday00:00-24:00thursday00:00-24:00friday00:00-24:00saturday00:00-24:00}在這裏要注意時間段名稱那裏的後面不能有空格出現,5、創建聯繫人配置文件,contacts.cfgvi /usr/local/nagios/etc/contacts.cfgdefine contact {contact_namekytestaliassystem administratorservice_notification_period24x7host_notification_period24x7service_notification_optionsw,u,c,rhost_notification_optionsd,u,rservice_notification_commandsnotify-service-by-emailhost_notification_commandsnotify-host-by-email[email protected]# pager13800138000}創建一個名爲kytest的聯繫人,下面列出其中幾個重要選項的說明#服務出了狀況通知的時間段,這個時間段是前面timeperiods.cfg裏面定義的。service_notification_period24x7#主機出現狀況時通知的時間段,這個時間段是前面timeperiods.cfg裏面定義的。host_notification_period24x7#當服務出現w—報警(warning),u—未知(unkown),c—嚴重(critical),r—從異常恢復到正常,在這四種情況下通知聯繫人service_notification_optionsw,u,c,r#當主機出現d----—當機(down),u—返回不可達(unreachable),r—從異常情況恢復正常,在這3種情況下通知聯繫人host_notification_optionsd,u,r#服務出問題通知採用的命令notify-service-by-email,這個命令是在commands.cfg中定義的,作用是給聯繫人發郵件. nagios2.x的版本上可以不一樣,可以自己到commands.cfg裏看一下;在這裏也可以設置發送短信的方式通知聯繫人,前提是你要配置有發送知道的腳本,還要到commands.cfg裏面添加發送腳本所用到的命令;service_notification_commandsnotify-service-by-email#同上,主機出問題時採用的也是發郵件的方式通知聯繫人host_notification_commandsnotify-host-by-email#指定聯繫的人email地址[email protected]#聯繫人的手機,前提是要支持短信通知,這裏沒有啓用通過手機短信的方式發送警報pager13800138000如果有多個聯繫人的話,可以通過複製來創建多個聯繫人;6、創建聯繫人組配置文件,contactgroups.cfg ,把多個聯繫人加到一個組裏面vi/usr/local/nagios/etc/contactgroups.cfgdefine contactgroup{contactgroup_namesagroupaliassystem administrator groupmemberskytest}注意:members選項裏面的聯繫人在contacts.cfgj裏面要要定義,多個聯繫從之間用逗號隔開;7、創建hosts.cfg主機配置文件vi/usr/local/nagios/etc/hostgroups.cfgdefine host{host_namenagios-server//被監控主機的名稱,後面不能帶空格aliasnagios server//別名address192.168.0.10//被監控主機的ip地址,這裏是監控本機contact_groupssagroup//聯繫人組,是在前面contactgroups.cfgj裏面定義的組check_commandcheck-host-alive//檢查主機是否存活,命令來自commadns.cfg文件max_check_attempts5//檢查失敗後重試次數notification_interval10//提醒的間隔,每隔10秒提醒一次notification_period24x7 //提醒的週期,24x7這個時間段來自timeperiods.cfg裏的定義notification_optionsd,u,r//在什麼時候提醒,詳見contacts.cfg部分的介紹}define host{host_namewin2003aliasweb serveraddress192.168.0.100//這是我的windows 2003的服務器,contact_groupssagroupcheck_commandcheck-host-alivemax_check_attempts5notification_interval10notification_period24x7notification_optionsd,u,r}define host{host_namelinuxaliasweb serveraddress192.168.0.102//被監控的linux服務器contact_groupssagroupcheck_commandcheck-host-alivemax_check_attempts5notification_interval10notification_period24x7notification_optionsd,u,r}在這裏我定義了三臺主機,只是作一個例子;如果你有更多的主機可以通過複製來添加主機,再修改一下相應的位置就可以了;8、創建hostgroups.cfg文件vi/usr/local/nagios/etc/hostgroups.cfgdefine hostgroup{hostgroup_namesa-serversaliassa serversmembersnagios-server,win2003,linux}這個跟聯繫人組配置差不多,要是有多臺主機可以用逗號隔開;members裏的主機成員必須也是要在hosts.cfg裏面定義的,其實這個文件也可以不要;ok,到這裏就差可以說是完成了最基礎的一部份了,現在就是最關鍵的一部分了,前面已經定義好了聯繫人,被監控主機,但是還沒有定義好要監控主機上的什麼東東;現在在這一部分就可以對主機上的各種信息進行監控,nagios監控的信息主要有:本地資源,對外的服務等;本地資源主要包括cpu,硬盤,swap,內存等;對外服務有web,fpt,smtp,pop3等;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章