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