您好,登錄后才能下訂單哦!
在上一篇中,我們成功安裝了nagios監(jiān)控端,使其能夠正常運(yùn)作,但是還沒有配置,因此還發(fā)揮不出任何作用。
這篇我們就開始配置nagios了,讓它發(fā)揮真正的效用
nagios配置文件在 ~/etc目錄下,主要是以下幾種。
文件名 | 類型 | 備注 | |
nagios.cfg | 主配置文件 | 需要修改 | |
cgi.cfg | 腳本控制文件 | 可添加用戶 | |
commands.cfg | 命令定義文件 | 命令配置文件,基本不需要改 | |
contacts.cfg | 用戶和用戶組定義文件 | 配置用戶和組,需要改 | |
timeperiods.cfg | 時間定義文件 | 定義時間,不需要修改 | |
templates.cfg | 主機(jī)定義模板文件 | 定義監(jiān)控主機(jī)的類型的模板文件,基本不需改 |
1.修改主配置文件
主要修改如下幾項(xiàng)
check_external_commands=1 #允許web界面修改重啟nagios服務(wù)
command_check_interval=10s #命令檢查時間間隔
cfg_file=/usr/local/nagios/etc/objects/101.cfg #添加要監(jiān)控主機(jī)的配置文件,一個主機(jī)對應(yīng)一個文件。
cfg_file=/usr/local/nagios/etc/objects/235.cfg # 我習(xí)慣是已最后一個IP為名字命名
。。。。。。。。。
2.檢查腳本控制文件cgi.cfg
use_authentication=1 #啟用用戶驗(yàn)證
如果要添加更多用戶需要在上面的選項(xiàng)都添加,且用戶都是由 /usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/htpasswd XXX 生成的(XXX為用戶名)。
3.命令配置文件commands.cfg
定義命令的配置文件,如果沒有需要自定義一個特殊的檢查的話,可以跳過不修改。
4.contacts.cfg timeperiods.cfg templates.cfg 為三個模板文件,分別是時間,主機(jī),和用戶的模板。
網(wǎng)上很多大神都自己全部重寫的配置模板,這些全部棄之不用。其實(shí)如果沒有什么特殊需要的話,模板里面的情況足夠應(yīng)對大部分需求。在創(chuàng)建具體監(jiān)控目標(biāo)時,直接引用模板就可以了,省時省力。
三個模板的內(nèi)容大致如下
contacts.cfg
define contact{
contact_name nagiosadmin ; 聯(lián)系人名稱
use generic-contact ; 所利用的模板 alias Nagios Admin ; 別名 email test@tssss.com ; 郵箱地址
}
define contactgroup{
contactgroup_name admins ; 組名
alias Nagios Administrators ; 組的別名
members nagiosadmin ; 組的成員
}
在timeperiods.cfg中
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00 ;定義好的24*7直接引用就能用
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
在templates.cfg中模板較多,這里就舉幾個常用的,其它的大多數(shù)選項(xiàng)的大同小異。
define contact{
name generic-contact ; 模板-聯(lián)系人
service_notification_period 24x7 ; 服務(wù)出狀況的通知時間段
host_notification_period 24x7 ; 主機(jī)出狀況通知時間段
service_notification_options w,u,c,r ;
host_notification_options d,u,r ; 服務(wù)和主機(jī)在那些情況下會有所動作(w-警告,u-未知,c-危險,r-恢復(fù),d-當(dāng)機(jī))
service_notification_commands notify-service-by-email ;
host_notification_commands notify-host-by-email ; 服務(wù)和主機(jī)采取的動作為發(fā)送郵件(具體定義在commands中)
register 0 因?yàn)檫@個為模板,所以為0
define host{
name generic-host ; 模板-全局主機(jī)
notifications_enabled 1 ;
event_handler_enabled 1 ;
flap_detection_enabled 1 ;基本就是開啟各項(xiàng)功能
failure_prediction_enabled 1 ;
process_perf_data 1 ;
retain_status_information 1 ;
retain_nonstatus_information 1 ;
notification_period 24x7 ;
register 0 ;
}
define host{
name linux-server ; 模板-LINUX服務(wù)器
use generic-host ; 借用全局模板
check_period 24x7 ; 檢查的時間段
check_interval 5 ; 檢查時間間隔 (分鐘)
retry_interval 1 ; 重試的檢查間隔(分鐘)
max_check_attempts 10 ; 最大檢查次數(shù)
check_command check-host-alive ; 指定檢查命令
notification_period 24x7 ; 故障時發(fā)送的時間范圍
;
notification_interval 120 ; 故障沒解決再次發(fā)出通知的間隔時間
notification_options d,u,r ; 指定狀態(tài)下才發(fā)送
contact_groups admins ; 發(fā)送的組
register 0 ;
還有個windows-server和generic-service等,與上面linux-server大同小異,就不列了。
上面這些模板在引用是可以省很大力氣的,基本可以應(yīng)對大部分情況。
準(zhǔn)備工作做了那么多,現(xiàn)在終于突入最后一個階段。建立對應(yīng)的服務(wù)器監(jiān)視配置文件
例如現(xiàn)在有一臺IP為192.168.1.121的linux服務(wù)器
在~/etc/object/目錄下創(chuàng)建一個文件121.cfg
然后在其中填入如下內(nèi)容
define host{
host_name 121_agent_master /主機(jī)名,起個認(rèn)得的就行
use linux-server /引用的模板為linux-server
address 192.168.1.121 /主機(jī)的地址
}
define service{
host_name 121_agent_master /引用上面的資料
name 121-service / 服務(wù)名,用來引用
use generic-service / 引用服務(wù)模板
}
define service{
use 121-service / 引用上面的配置
service_description ping /顯示在nagios上的服務(wù)名,最好通俗易懂
check_command check_ping!20000.0,80%!30000.0,100%!10!30
} / 第3排就是具體的命令了 ,具體寫法可以參照commands.cfg中的說明,這條命令是測試ping的。
define service{
use 121-service
service_description http 80
check_command check_tcp!80!3!8!20
} 這組是測試80端口的存活
5.部署nrpe
在被監(jiān)控機(jī)上要安裝配置nrpe才能和監(jiān)控端形成互動,這樣監(jiān)控才能真正的形成。
首先在監(jiān)控機(jī)上。。安裝NRPE組件
tar xzf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure --prefix=/usr/local/nagios
make all
make install-plugin
然后在配置文件command.cfg中添加如下字段
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
這樣在添加監(jiān)控時,就可以使用nrpe這個項(xiàng)目了
然后在被監(jiān)控端上
1)添加用戶
useradd nagios
2)安裝nagios-plugins
tar zxvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure –prefix=/usr/local/nagios
make & make install
chown nagios.nagios /usr/local/nagios/
chown -R nagios.nagios /usr/local/nagios/libexec/
3) 安裝nrpe
tar zxvf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure –prefix=/usr/local/nagios
make all
make install-plugin
make install-daemon
make install-daemon-config
4)修改配置文件/usr/local/nagios/etc/nrpe.cfg
主要修改以下兩項(xiàng)
server_address=192.168.1.121
allowed_hosts=127.0.0.1,192.168.1.100 (后面為監(jiān)控端的IP)
6.啟動nrpe服務(wù)并檢驗(yàn)其配置
1)以獨(dú)立守護(hù)進(jìn)程啟動nrpe服務(wù)
/usr/local/nagios/bin/nrpe –c /usr/local/nagios/etc/nrpe.cfg –d
2)成功的話可以看到5666端口的監(jiān)聽
netstat -an |grep "5666"
7.啟動nagios來監(jiān)控這臺主機(jī)
1)首先檢查配置是否有錯誤,基本上錯誤都能找的很準(zhǔn)確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
直到看到以下內(nèi)容就沒問題了
Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check |
2) 后臺啟動nagios
/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg &
3) 打開瀏覽器 輸入 http:192.168.1.100/nagios 就能訪問了 用戶名是nagiosadmin(具體是在上一篇設(shè)置過的)。進(jìn)入后點(diǎn)擊host 即可看到監(jiān)控的主機(jī) 應(yīng)該有2臺 一臺為121 一臺為localhost
這樣簡單的nagios監(jiān)控就完成了。當(dāng)然nagios的能力不止這些,依靠插件能夠監(jiān)控更多的東西。
當(dāng)然 ,是我有空下期再寫了。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。