基於nagios的監控環境(三):nconf頁面配置nagios
阿新 • • 發佈:2019-02-02
對於新手來說,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即可,同時還可以在下方的選擇框中給當前主機組新增主機成員,該選擇框已將系統中已定義的所有主機列出來,選中後點擊箭頭移動到右側的選擇框中即可