1. 程式人生 > >基於nagios的監控環境(三):nconf頁面配置nagios

基於nagios的監控環境(三):nconf頁面配置nagios

對於新手來說,nagios雖然安裝好了,但是裡面各種機器、服務、命令等等相關的配置檔案還是很難搞懂,不小心寫錯一個地方就會導致nagios服務無法重啟,雖然可以通過nagios的命令對配置檔案進行檢查,但是有時候並不能很好地理解錯誤資訊。

所以我們需要安裝一個圖形化的配置工具,來簡化配置檔案的編寫。

nconf安裝:

相關附件下載連結:

連結: http://pan.baidu.com/s/1pJODHvd 密碼: ygs9

一、nconf安裝

#安裝nconf需要裝好以下程式
	#Apache webserver
	#PHP 5.x or higher, php-mysql, php-ldap (only if using LDAP auth)
	#MySQL 5.0.2 or higher (with InnoDB!)
	#Perl 5.6 or higher, perl-DBI, perl-DBD-MySQL
	#Nagios 3.x or Icinga 0.8x (binary required to run syntax checks)

#修改php.ini 配置檔案:
	#short_open_tag = On
	#register_globals = Off
	#magic_quotes_gpc = Off
#nconf依賴的基礎程式安裝 yum -y install httpd php php-mysql perl.x86_64 perl-DBI.x86_64 perl-DBD-MySQL.x86_64 #修改php.ini nano /etc/php.ini #加入下列三行 short_open_tag = On(short_open_tag配置預設是三行寫了三個引數但被註釋掉了,直接加入這一行就行) register_globals = Off(接下來這兩行預設是被註釋掉的,去掉註釋號‘;’就行) magic_quotes_gpc = Off #修改完成後重啟httpd服務,否則不會生效
#進入安裝包所在目錄,解壓並進入解壓資料夾(這裡為了方便,直接將檔案解壓在安裝路徑) cd /home/taolei/copy/pkg/ rm -rf /var/www/html/nconf/ #解壓nconf到指定目錄下 tar zxvf nconf-1.3.0-0.tgz -C /var/www/html/ cd /var/www/html/nconf #給相關檔案賦予許可權 chown -R apache:apache config/ temp/ static_cfg/ output/ #mysql中建立nconf的資料庫 mysql -u root -p #CREATE DATABASE NCONF; #以管理員身份登入mysql,授權給nconf使用者(尚未建立,授權時,自動建立),
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER ON `NCONF`.* TO 'nconf'@'localhost' IDENTIFIED BY 'root'; #其它類似的授權命令 #GRANT ALL PRIVILEGES ON *.* TO 'nconf'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION; #GRANT ALL PRIVILEGES ON *.* TO 'nconf'@'localhost' WITH GRANT OPTION; #重新整理緩衝區,使操作生效 #FLUSH   PRIVILEGES; #通過sql檔案,建立nconf的資料庫表結構 #-u 後面接使用者名稱,-p後面接資料庫名 #mysql -u root -p NCONF < INSTALL/create_database.sql #------------(官網教程中對mysql.php  nconf.php這兩個檔案進行了修改)------------- #網頁的安裝過程中,將會設定資料庫主機名、資料庫名、使用者名稱、密碼等資訊, #而這些密碼也可以在/var/www/html/conf/config/資料夾中的幾個檔案中進行修改 # authentication.php  deployment.ini  mysql.php  nconf.php # 這四個檔案分別存放不同的配置資訊 # /var/www/html/conf/config.orig/則是配置檔案的源路徑 # #按照官網教程, #需要對./config/mysql.php檔案中 DBHOST  DBNAME  DBUSER  DBPASS及 #./config/nconf.php檔案中NCONFDIR  NAGIOS_BIN進行修改  #--------------------------------------------------------------------------------- #安裝完成後刪除以下檔案(頁面也會提示刪除,否則無法繼續訪問) rm -rf INSTALL INSTALL.php  UPDATE UPDATE.php

至此,nconf安裝完成,但為了是nconf管理nagios的配置檔案還需做如下的配置。

二、nconf整合nagios

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #給資料夾執行許可權,用來檢測nagios配置檔案是否有語法錯誤 chmod +x  /usr/local/nagios/bin/nagios  #用來將web頁面的配置設定轉化成文nagios配置檔案的指令碼,其需要apache使用者有可執行許可權 chmod +x /var/www/html/nconf/bin/generate_config.pl #給nagios命令建立符號連結(相當於windows環境下的快捷方式) ,使nagios可以找到nconf中生成的nagios配置檔案 ln -s /usr/local/nagios/bin/nagios bin/nagios   #修改檔案的屬主 chown -R apache:apache bin #-----------------------將nconf配置新增到nagios中---------------------------- #1.在web頁面對監控服務和主機配置完畢,點選【Generate Nagios config】 #注意:nconf在【Generate Nagios config】將您的生成nagios配置檔案是/var/www/html/nconf/output/NagiosConfig.tgz, #而並非直接匯入nagios中。 #2.deploy_local.sh是nconf自帶配置檔案匯入指令碼 #執行nconf的批處理命令,將配置檔案匯入到nagios目錄下 /var/www/html/nconf/ADD-ONS/deploy_local.sh #3.修改nagios主配置檔案 nano /usr/local/nagios/etc/nagios.cfg #將其中cfg_file=*******欄位全部註釋 #並新增nconf配置檔案指向 cfg_dir=/usr/local/nagios/etc/Default_collector cfg_dir=/usr/local/nagios/etc/global #-------------------------------------------------------------------------------- #此時nconf的配置則已經匯入到nagios中,由於註釋掉了nagios原有配置,所以nconf匯入的配置將在nagios中生效 #檢查nagios配置檔案正確性,若無誤則重啟nagios服務 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios restart

三、nconf簡單使用

1、新增命令

由於需要進行遠端監控,會用到check_nrpe,所以需要新增check_nrpe命令:

開啟nconf頁面,找到左邊選單的Checkcommands,點選後面的[add],在彈出的表單中完成必填項:
	check command name 為命令的名字,可以自行定義,為了便於閱讀,我這裡命名為check_nrpe
 	check command line 為命令的具體定義,$USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$,
 	amount of params 為命令中引數的個數
說明:其中$USER1$、$HOSTADDRESS$已在nagios配置檔案中定義,因此此處僅$ARG1$為引數,通過和check_nrpe完整命令
/usr/local/nagios/libexec/check_nrpe -H 32.1.2.249 -c check_cpu_usage
比較可以更好的理解命令的含義,其中check_cpu_usage在被監控端的nrpe.cfg中定義,具體定義如下
command[check_cpu_usage]=/usr/local/nagios/libexec/check_linux_stats.pl -C -w 90 -c 100 -s 5
從命令定義來看,/usr/local/nagios/libexec/check_linux_stats.pl -C -w 90 -c 100 -s 5
這條命令便是nagios普通的本地效能檢查的命令

2、新增服務

找到左邊選單的Advanced Services,點選後面的[add],在彈出的表單中完成必填項:
advanced service name 為監控的服務名,比如監控的cpu、記憶體等,如:Check_CPU_Load
service description 為服務的描述,也就是即將在vshell頁面列出來展示的服務名稱,如:Check CPU Load
check command 為監控服務的命令,下拉選單中列出了許多已定義的命令,而我們為了實現遠端監控,已經定義了check_nrpe,因此這裡我們選擇check_nrpe,
check period、notification period為監控和報警的時間段,一般都選7*24。如果不想使定義的該服務立即生效,這裡可以不選或選擇其它選項
後面的一些選擇框是服務的其它設定,如:將定義的本服務繫結到某臺主機、劃分到某個服務分組、或將該服務繫結到一個主機組,表示這些主機組中的主機都預設啟動該服務的監控
下方還有服務的更詳細引數設定,根據實際需要設定,可以不填,
最下方有個引數params for check command 為監控服務的具體引數,這是因為我們選擇了check_nrpe命令,
check_nrpe需要我們提供一個監控引數,根據步驟1中命令的定義,我們這裡填上check_cpu_load,也就是在遠端被監控機的nrpe.cfg中已經定義的命令

3、新增主機

這裡新增主機的順序和上面的1、2步驟互不影響,也可第一步就新增主機。
在步驟2中說到了服務必填引數下方的一些選擇框,那些選擇框中可以將服務與主機進行繫結,新增主機時也同樣會有類似選擇框,將主機和服務進行繫結,因此設定方法是雙向的,可以不分先後。
而1、2步驟卻不可以顛倒,因為定義服務時,必須要選擇一個命令,因此命令必須先進行定義
hostname、address為主機名和IP,也就是對被監控機的基本資訊進行設定,
OS、host preset根據不同的被監控機而有所區別,我們這裡監控的centos即linux主機,因此這裡選擇linux和linux-server 
host is collector預設為no即可
剩下的便是工作時間段等其它非必填項的設定

4、新增主機組

當主機數量增多,或為了方便管理,我們可以建立主機組,以便檢視:

點選hostgroup 右邊的 [add] 

在彈出的頁面中輸入:hostgroup name 、alias即可,同時還可以在下方的選擇框中給當前主機組新增主機成員,該選擇框已將系統中已定義的所有主機列出來,選中後點擊箭頭移動到右側的選擇框中即可