您好,登錄后才能下訂單哦!
一 在Nagios配置文件templates.cfg 定義監(jiān)控主機(jī)模板和監(jiān)控service 模板,這樣在定義監(jiān)控對(duì)象時(shí)直接繼承模板中的監(jiān)控策略,而不需要在每定義一個(gè)監(jiān)控對(duì)象時(shí),而重新需要 1 定義主機(jī)模板 2 定義service 模板 二 為防止nagios服務(wù)器出現(xiàn)down ,實(shí)現(xiàn)的nagios的高可用性,即是nagios的失效性監(jiān)控,當(dāng)nagios master 出現(xiàn)down,nagios slave 能夠主動(dòng)接替nagios master 3 在nagios slave 上的服務(wù)器上添加工作任務(wù),當(dāng)然這可以根據(jù)自己的要求來(lái)對(duì)nagios Master的 健康監(jiān)測(cè)的時(shí)間間隔3 Nagios 之監(jiān)控策略
定義監(jiān)控策略
#vim usr/local/nagios/etc/object/templates.cfg 在其尾部添加如下內(nèi)容
define host {
#模板名稱
name etnet
#該模板的父模板
use generic-host
#最大嘗試次數(shù)
max_check_attempts 3
#正常檢測(cè)的時(shí)間間隔
normal_check_interval 3
#當(dāng)檢測(cè)到監(jiān)控對(duì)象不在線時(shí),嘗試檢測(cè)的次數(shù)
retry_check_interval 1
#監(jiān)測(cè)的時(shí)間段7X24
check_period 24x7
#報(bào)警的時(shí)間段
notification_period 24x7
#報(bào)警的時(shí)間間隔,如果是短信報(bào)警的換,意思就是說(shuō)多長(zhǎng)時(shí)間用短信通知系統(tǒng)管理員一次
notification_interval 60
#當(dāng)監(jiān)控對(duì)象出現(xiàn)什么樣的狀態(tài)時(shí)發(fā)短信通知您
notification_options d,r,u,f
#監(jiān)測(cè)命令
check_command check-host-alive
#聯(lián)系人
contact_groups admins
register 0
}
注:
Notification_options d ,r,u,f
d 代表當(dāng)監(jiān)控對(duì)象出現(xiàn)down 是發(fā)送通知
r 當(dāng)監(jiān)控對(duì)象recoveries 時(shí)發(fā)送通知
f 當(dāng)主機(jī)啟動(dòng)或者停機(jī)時(shí)發(fā)送通知
u 當(dāng)有unreachable 狀態(tài)時(shí)發(fā)送通知
例如
定義主機(jī)
#定義主機(jī)組
define hostgroup{
hostgroup_name mysql
alias mysql-group
#該組的成員
members linux141,linux134
}
define host {
#繼承etnet模板
use etnet
host_name linux141
alias mysql41
address 192.168.3.141
}
###define service###
define service {
# 定義service的名稱
name tomcat
use generic-service
max_check_attempts 2
normal_check_interval 1
retry_check_interval 1
check_period 24x7
notification_period 24x7
notification_interval 60
notification_options w,u,c,f
contact_groups admins
register 0
}
注: notification_options w,u,c,f
C 代表critival 狀態(tài)時(shí)發(fā)送通知
同主機(jī)模板中代表的含義是相同的
例如
define hostgroup{
hostgroup_name Memcached
alias Memcache
members Memcache137
}
define host {
use etnet
host_name Memcache137
alias linux137
address 192.168.3.137
}
define service{
use tomcat
host_name Memcache137
service_description CPU Load
check_command check_nrpe!check_load
}
注:一般情況先定義監(jiān)控service 時(shí),是離不開定義host的
1 要在nagios Master 的服務(wù)器的nrpe 主配置文件定義一下,命令,以便遠(yuǎn)程能夠執(zhí)行進(jìn)行對(duì)nagios的健康監(jiān)測(cè)
[check_nagios]=/usr/local/nagios/libexec/ check_nagios -e 5 -F /usr/local/nagios/var/status.log -C /usr/local/nagios/bin/nagios
2 在nagios Slave 服務(wù)器上創(chuàng)建腳本如下
#cat /usr/local/nagios/libexec/check_nagios_service
#!/bin/bash
AWK=/bin/awk
CUT=/bin/cut
SED=/bin/sed
GREP=/bin/grep
##
##set monitor nagios status log
echo "`/bin/date +%Y-%m-%d-%H:%M:%S` The nagios Master status is $STATUS">>$NAGIOS_DIR/var/monitor.log
NAGIOS=($( grep "SLAVE" /usr/local/nagios/etc/nagios.cfg | grep -v '^#' | awk -F/ '{print $NF}'))
case $STATUS in
OK)
if [ "$NAGIOS" = "SLAVE" ]
then
$SED -i '/SLAVE$/d' $NAGIOS_DIR/etc/nagios.cfg
/sbin/service nagios restart >>/dev/null 2>&1
else
exit 0
fi
;;
CRITICAL)
if [ "$NAGIOS" != "SLAVE" ]
then
echo -e "#monitor nagios service ,and take the places of nagios,SLAVE">>$NAGIOS_DIR/etc/nagios.cfg
echo "cfg_dir=/usr/local/nagios/etc/objects/SLAVE">>$NAGIOS_DIR/etc/nagios.cfg
fi
#nagios restart
/sbin/service nagios restart >>/dev/null 2>&1
;;
refused)
exit 1
esac
#crontab -e
#*/1 * * * * /usr/local/nagios/libexec/check_nagios_service
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。