您好,登錄后才能下訂單哦!
說明:本機地址為202.207.178.7
一、Nagios概述
1、簡介
Nagios是插件式的結(jié)構(gòu),它本身沒有任何監(jiān)控功能,所有的監(jiān)控都是通過插件進行的,因此其是高度模塊化和富于彈性的。Nagios監(jiān)控的對象可分為兩類:主機和服務(wù)。主機通常指的是物理主機,如服務(wù)器、路由器、工作站和打印機等,這里的主機也可以是虛擬設(shè)備,如xen虛擬出的Linux系統(tǒng);而服務(wù)通常指某個特定的功能,如提供http服務(wù)的httpd進程等。而為了管理上的方便,主機和服務(wù)還可以分別被規(guī)劃為主機組和服務(wù)組等。
Nagios不監(jiān)控任何具體數(shù)值指標(biāo)(如操作系統(tǒng)上的進程個數(shù)),它僅用四種抽象屬性對被監(jiān)控對象的狀態(tài)進行描述:OK、WARNING, CRITICAL和UNKNOWN。于是,管理員只需要對某種被監(jiān)控對象的WARNING和CRITICAL狀態(tài)的閾值進行關(guān)注和定義即可。Nagios通過將WARTING和CRTICAL的閾值傳遞給插件,并由插件負責(zé)某具體對象的監(jiān)控及結(jié)果分析,其輸出信息為狀態(tài)信息(OK,WARNING,CRITICAL或UNKOWN)以及一些附加的詳細說明信息。
2、特性
由上述說明可以,Nagios是極富彈性的,其監(jiān)控功能完全可以按照管理員的期望進行。此外,它外提供了對問題的自動響應(yīng)能力和一個功能強大的通知系統(tǒng)。所有這些功能的實現(xiàn)是基于一個結(jié)構(gòu)明晰的對象定義系統(tǒng)和少數(shù)幾個對象類型實現(xiàn)的。
1) 命令(Commands)
“命令”用于定義Nagios如何執(zhí)行某特定的監(jiān)控工作。它是基于某特定的Nagios插件定義出的一個抽象層,通常包含一組要執(zhí)行的操作。
2)時段(Time periods)
“時段”用于定義某“操作”可以執(zhí)行或不能執(zhí)行的日期和時間跨度,如工作日內(nèi)的每天8:00-18:00等;
3)聯(lián)系人和聯(lián)系人組(Contacts and contact groups)
“聯(lián)系人”用于定義某監(jiān)控事件的通知對象、要通知的信息以及這些接收通知者何時及如何接收通知;一個或多個聯(lián)系人可以定義為聯(lián)系人組,而一個聯(lián)系人也可以屬于多個組;
4) 主機和主機組(host and host groups)
“主機”通常指某物理主機,其包括此主機相關(guān)的通知信息的接收者(即聯(lián)系人)、如何及何時進行監(jiān)控的定義。主機也可以分組,即主機組(host groups),一個主機可同時屬于多個組;
5) 服務(wù)(Services)
“服務(wù)”通常指某主機上可被監(jiān)控的特定的功能或資源,其包括此服務(wù)相關(guān)的通知信息的接收者、如何及何時進行監(jiān)控等。服務(wù)也可以分組,即服務(wù)組(Service groups),一個服務(wù)可同時屬于多個服務(wù)組;
3、依賴關(guān)系
Nagios的強大功能還表現(xiàn)在其成熟的依賴關(guān)系系統(tǒng)上。比如,某路由設(shè)備故障必然會導(dǎo)致關(guān)聯(lián)在其上的其它主機無法被正常訪問,如果不能定義這些設(shè)備間的依賴關(guān)系,那么監(jiān)控系統(tǒng)上必然會出現(xiàn)大量的設(shè)備故障信息。而Nagios則通過依賴關(guān)系來描述網(wǎng)絡(luò)設(shè)備的拓撲結(jié)構(gòu),并能夠?qū)崿F(xiàn)在某設(shè)備故障時不再對依賴于此設(shè)備的其它設(shè)備進行檢測,從而避免了無謂的故障信息,方便管理員及時定位并排除故障。此外,Nagios的依賴關(guān)系還可以在服務(wù)級別上實現(xiàn),如果某服務(wù)依賴于其它服務(wù)時,也能實現(xiàn)類似主機依賴關(guān)系的功能。
4、宏
Nagios還能夠使用宏,并且宏的定義在整個Nagios系統(tǒng)中具有一致性。宏是能夠用于對象定義中的變量,其值通常依賴于上下文。在“命令”中定義的宏,相對于主機、服務(wù)或其它許多參數(shù)來說,其值會隨之不同。比如,某命令可以根據(jù)向其傳遞的IP地址的不同來監(jiān)控不同的主機。
5、計劃中宕機
Nagios還提供了調(diào)度性計劃中的宕機機制,管理員可以周期性的設(shè)定某主機或服務(wù)為計劃中的不可用狀態(tài)。這種功能可以阻止Nagios在調(diào)度宕機時段通知任何信息。當(dāng)然,這也可以讓Nagios自動通知管理員該進行主機或服務(wù)維護了。
6、軟狀態(tài)和硬狀態(tài)(Soft and Hard States)
如上所述,Nagios的主要工作是檢測主機或服務(wù)的狀態(tài),并將其存儲下來。某一時刻,主機或服務(wù)狀態(tài)僅可以是四種可用狀態(tài)之一,因此,其狀態(tài)能夠正確反映主機或服務(wù)的實際狀況就顯得特別關(guān)鍵。為了避免某偶然的臨時性或隨機性問題,Nagios引入了軟狀態(tài)和硬狀態(tài)。在實際的檢測中,Nagios一旦發(fā)現(xiàn)某主機或服務(wù)的狀態(tài)為UNKOWN或不同于上一次檢測時的狀態(tài),其將會對此主機或服務(wù)進行多次測試以確保此狀態(tài)的變動是非偶然性的。具體共要做出幾次測試是可以配置的,在這個指定次數(shù)的測試時段內(nèi),Nagios假設(shè)此變化后的狀態(tài)為軟件狀態(tài)。一旦測試完成后狀態(tài)仍然為新變的狀態(tài)時,此狀態(tài)就成了硬狀態(tài)。
二、安裝配置Nagios
1、安裝前的準(zhǔn)備工作
(1)解決安裝Nagios的依賴關(guān)系:
Nagios基本組件的運行依賴于httpd、gcc和gd??梢酝ㄟ^以下命令來檢查nagios所依
賴的rpm包是否已經(jīng)完全安裝:
# yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql
mysql mysql-devel mysql-server
說明:以上軟件包您也可以通過編譯源代碼的方式安裝,只是后面許多要用到的相關(guān) 文件的路徑等需要按照您的源代碼安裝時的配置逐一修改。此外,您還得按需啟 動必要的服務(wù),如httpd等。
(2)添加nagios運行所需要的用戶和組:
# groupadd nagcmd
# useradd -G nagcmd nagios
# passwd nagios
(3)把apache加入到nagcmd組,以便于在通過web Interface操作nagios時能夠具有權(quán)限:
# usermod -a -G nagcmd apache
2、編譯安裝nagios:
# tar zxf nagios-3.3.1.tar.gz
# cd nagios
# ./configure --sysconfdir=/etc/nagios --with-command-group=nagcmd
--enable-event-broker
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
1)為email指定您想用來接收nagios警告信息的郵件地址,默認是本機的nagios用戶:
# vi /usr/local/nagios/etc/objects/contacts.cfg
email nagios@localhost #這個是默認設(shè)置
1)在httpd的配置文件目錄(conf.d)中創(chuàng)建Nagios的Web程序配置文件:
# make install-webconf
2)創(chuàng)建一個登錄nagios web程序的用戶,這個用戶帳號在以后通過web登錄nagios認證時所用
# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
以上過程配置結(jié)束以后需要重新啟動httpd:
# service httpd restart
3、編譯安裝nagios-plugins
nagios的所有監(jiān)控工作都是通過插件完成的,因此,在啟動nagios之前還需要為其安裝官方提供的插件。
# tar zxf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install
4、配置并啟動Nagios
1)把nagios添加為系統(tǒng)服務(wù)并將之加入到自動啟動服務(wù)隊列:
# chkconfig --add nagios
# chkconfig nagios on
2)如果上面的語法檢查沒有問題,接下來就可以正式啟動nagios服務(wù)了:
# service nagios start
3)配置selinux和防火墻
#service iptables stop
#setenforce 0
4)通過web界面查看nagios:
http://202.207.178.7/nagios
登錄時需要指定前面設(shè)定的web認證帳號(nagiosadmin)和密碼(123456)。
三、nagios目錄介紹:
bin Nagios 可執(zhí)行程序所在目錄
/etc/nagios Nagios 配置文件所在目錄
sbin Nagios CGI 文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄
share Nagios網(wǎng)頁文件所在的目錄
libexec Nagios 外部插件所在目錄
var/Nagios 日志文件、lock 等文件所在的目錄
var/archives Nagios 日志自動歸檔目錄
var/rw 用來存放外部命令文件的目錄
歡迎批評指正!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。