您好,登錄后才能下訂單哦!
在上一篇中,我們成功安裝了nagios監控端,使其能夠正常運作,但是還沒有配置,因此還發揮不出任何作用。
這篇我們就開始配置nagios了,讓它發揮真正的效用
nagios配置文件在 ~/etc目錄下,主要是以下幾種。
文件名 | 類型 | 備注 | |
nagios.cfg | 主配置文件 | 需要修改 | |
cgi.cfg | 腳本控制文件 | 可添加用戶 | |
commands.cfg | 命令定義文件 | 命令配置文件,基本不需要改 | |
contacts.cfg | 用戶和用戶組定義文件 | 配置用戶和組,需要改 | |
timeperiods.cfg | 時間定義文件 | 定義時間,不需要修改 | |
templates.cfg | 主機定義模板文件 | 定義監控主機的類型的模板文件,基本不需改 |
1.修改主配置文件
主要修改如下幾項
check_external_commands=1 #允許web界面修改重啟nagios服務
command_check_interval=10s #命令檢查時間間隔
cfg_file=/usr/local/nagios/etc/objects/101.cfg #添加要監控主機的配置文件,一個主機對應一個文件。
cfg_file=/usr/local/nagios/etc/objects/235.cfg # 我習慣是已最后一個IP為名字命名
。。。。。。。。。
2.檢查腳本控制文件cgi.cfg
use_authentication=1 #啟用用戶驗證
如果要添加更多用戶需要在上面的選項都添加,且用戶都是由 /usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/htpasswd XXX 生成的(XXX為用戶名)。
3.命令配置文件commands.cfg
定義命令的配置文件,如果沒有需要自定義一個特殊的檢查的話,可以跳過不修改。
4.contacts.cfg timeperiods.cfg templates.cfg 為三個模板文件,分別是時間,主機,和用戶的模板。
網上很多大神都自己全部重寫的配置模板,這些全部棄之不用。其實如果沒有什么特殊需要的話,模板里面的情況足夠應對大部分需求。在創建具體監控目標時,直接引用模板就可以了,省時省力。
三個模板的內容大致如下
contacts.cfg
define contact{
contact_name nagiosadmin ; 聯系人名稱
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中模板較多,這里就舉幾個常用的,其它的大多數選項的大同小異。
define contact{
name generic-contact ; 模板-聯系人
service_notification_period 24x7 ; 服務出狀況的通知時間段
host_notification_period 24x7 ; 主機出狀況通知時間段
service_notification_options w,u,c,r ;
host_notification_options d,u,r ; 服務和主機在那些情況下會有所動作(w-警告,u-未知,c-危險,r-恢復,d-當機)
service_notification_commands notify-service-by-email ;
host_notification_commands notify-host-by-email ; 服務和主機采取的動作為發送郵件(具體定義在commands中)
register 0 因為這個為模板,所以為0
define host{
name generic-host ; 模板-全局主機
notifications_enabled 1 ;
event_handler_enabled 1 ;
flap_detection_enabled 1 ;基本就是開啟各項功能
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服務器
use generic-host ; 借用全局模板
check_period 24x7 ; 檢查的時間段
check_interval 5 ; 檢查時間間隔 (分鐘)
retry_interval 1 ; 重試的檢查間隔(分鐘)
max_check_attempts 10 ; 最大檢查次數
check_command check-host-alive ; 指定檢查命令
notification_period 24x7 ; 故障時發送的時間范圍
;
notification_interval 120 ; 故障沒解決再次發出通知的間隔時間
notification_options d,u,r ; 指定狀態下才發送
contact_groups admins ; 發送的組
register 0 ;
還有個windows-server和generic-service等,與上面linux-server大同小異,就不列了。
上面這些模板在引用是可以省很大力氣的,基本可以應對大部分情況。
準備工作做了那么多,現在終于突入最后一個階段。建立對應的服務器監視配置文件
例如現在有一臺IP為192.168.1.121的linux服務器
在~/etc/object/目錄下創建一個文件121.cfg
然后在其中填入如下內容
define host{
host_name 121_agent_master /主機名,起個認得的就行
use linux-server /引用的模板為linux-server
address 192.168.1.121 /主機的地址
}
define service{
host_name 121_agent_master /引用上面的資料
name 121-service / 服務名,用來引用
use generic-service / 引用服務模板
}
define service{
use 121-service / 引用上面的配置
service_description ping /顯示在nagios上的服務名,最好通俗易懂
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
在被監控機上要安裝配置nrpe才能和監控端形成互動,這樣監控才能真正的形成。
首先在監控機上。。安裝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$
}
這樣在添加監控時,就可以使用nrpe這個項目了
然后在被監控端上
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
主要修改以下兩項
server_address=192.168.1.121
allowed_hosts=127.0.0.1,192.168.1.100 (后面為監控端的IP)
6.啟動nrpe服務并檢驗其配置
1)以獨立守護進程啟動nrpe服務
/usr/local/nagios/bin/nrpe –c /usr/local/nagios/etc/nrpe.cfg –d
2)成功的話可以看到5666端口的監聽
netstat -an |grep "5666"
7.啟動nagios來監控這臺主機
1)首先檢查配置是否有錯誤,基本上錯誤都能找的很準確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
直到看到以下內容就沒問題了
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(具體是在上一篇設置過的)。進入后點擊host 即可看到監控的主機 應該有2臺 一臺為121 一臺為localhost
這樣簡單的nagios監控就完成了。當然nagios的能力不止這些,依靠插件能夠監控更多的東西。
當然 ,是我有空下期再寫了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。