Nagios高可用,主备自动切换。

IPHostname备注
192.168.88.31smasternagios主节点
192.168.88.40sbackupnagios备节点

环境说明:firewalld关闭,selinux关闭。

软件版本:
nagios版本:4.4.3
nagios-plugins版本:2.2.1
nrpe版本:3.2.1

smaster节点

1.监测nagios进程,查看是否能检测到。

[root@smaseter ~]# cd /usr/local/nagios/libexec/
[root@smaseter libexec]# ./check_nagios -e 5 -F /usr/local/nagios/var/status.dat -C /usr/local/nagios/bin/nagios
NAGIOS OK: 6 processes, status log updated 5 seconds ago

2.配置nrpe

[root@smaseter libexec]# vi /usr/local/nagios/etc/nrpe.cfg		
allowed_hosts=127.0.0.1,::1,192.168.88.0/24				//添加sbackup节点ip网段
command[check_nagios]=/usr/local/nagios/libexec/check_nagios -e 5 -F /usr/local/nagios/var/status.dat -C /usr/local/nagios/bin/nagios		

3.重启nrpe

[root@smaseter libexec]# pkill nrpe
[root@smaseter libexec]# /usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg

sbackup节点
1.测试sbackup是否能连通smaster

[root@sbackup nagios]# /usr/local/nagios/libexec/check_nrpe -H 192.168.88.31 
NRPE v3.2.1
[root@sbackup nagios]# /usr/local/nagios/libexec/check_nrpe -H 192.168.88.31 -c check_nagios
NAGIOS OK: 6 processes, status log updated 9 seconds ago

2.复制相关文件并修改

[root@sbackup nagios]# cd /usr/local/nagios/libexec
[root@sbackup nagios]# mkdir eventhandlers
[root@sbackup eventhandlers]# cd /root/nagioscore-nagios-4.4.3/contrib/eventhandlers/
[root@sbackup eventhandlers]# cp enable_notifications /usr/local/nagios/libexec/eventhandlers/
[root@sbackup eventhandlers]# cp disable_notifications /usr/local/nagios/libexec/eventhandlers/
[root@sbackup eventhandlers]# cp redundancy-scenario1/handle-master-host-event /usr/local/nagios/libexec/eventhandlers/
[root@sbackup eventhandlers]# cp redundancy-scenario1/handle-master-proc-event /usr/local/nagios/libexec/eventhandlers/
[root@sbackup eventhandlers]# sed -i 's/active_service_checks/notifications/g' /usr/local/nagios/libexec/eventhandlers/handle-master-proc-event
[root@sbackup eventhandlers]# chown nagios.nagios /usr/local/nagios/libexec/eventhandlers/*
[root@sbackup eventhandlers]# chmod 755 /usr/local/nagios/libexec/eventhandlers/*

3.配置command.cfg

[root@sbackup ~]# vi /usr/local/nagios/etc/objects/commands.cfg
//修改以下
define command {

    command_name    notify-host-by-email
    command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIF
ICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOU
TPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Aler
t: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}		///usr/sbin/sendmail 改为/usr/bin/mail



define command {

    command_name    notify-service-by-email
    command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIF
ICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState:
 $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" |
/usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERV
ICESTATE$ **" $CONTACTEMAIL$
}	///usr/sbin/sendmail 改为/usr/bin/mail


//添加以下
define command {
 command_name handle-master-host-event
 command_line $USER1$/eventhandlers/handle-master-host-event $HOSTSTATE$ $HOSTSTATETYPE$
$HOSTATTEMPT$
}

define command {
 command_name handle-master-proc-event
 command_line $USER1$/eventhandlers/handle-master-proc-event $SERVICESTATE$ $SERVICESTATE
TYPE$ $SERVICEATTEMPT$
}

define command {
 command_name check_nrpe
 command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

4.配置localhost.cfg

[root@sbackup ~]# vi /usr/local/nagios/etc/objects/localhost.cfg
define host {
        use                             critical-host
        host_name                       nagiosMaster
        alias                           nagios master
        address                         192.168.88.31
        event_handler                   handle-master-host-event
}

define service {
        use                              critical-service
        host_name                        nagiosMaster
        service_description              NAGIOS
        check_command                    check_nrpe!check_nagios
        event_handler                    handle-master-proc-event
}

5.配置templates.cfg

[root@sbackup objects]# vi /usr/local/nagios/etc/objects/templates.cfg 
define host{
        name                            critical-host
        use                             generic-host
        check_period                    24x7
        check_interval                  5
        retry_interval                  1
        max_check_attempts              10
        check_command                   check-host-alive
        notification_period             workhours
        notification_interval           120
        notification_options            d,u,r
        contact_groups                  admins
        register                        0
        }

define service{
        name                            critical-service
        active_checks_enabled           1
        passive_checks_enabled          1
        parallelize_check               1
        obsess_over_service             1
        check_freshness                 0
        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
        is_volatile                     0
        check_period                    24x7
        max_check_attempts              1
        normal_check_interval           1
        retry_check_interval            1
        contact_groups                  admins
        notification_options            w,u,c,r
        notification_interval           60
        notification_period             24x7
         register                        0
        }

6.修改nagios.cfg主配置文件

[root@sbackup ~]# vi /usr/local/nagios/etc/nagios.cfg 
enable_notifications=0						//0为不发出警告

7.配置邮件告警

[root@sbackup ~]# yum -y install mailx sendmail
[root@sbackup ~]# vi /etc/mail.rc 
set from=xxx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=xxxxxx@qq.com
set smtp-auth-password=pgytd*****wzbbaj
set smtp-auth=login
[root@sbackup objects]# vi /usr/local/nagios/etc/objects/contacts.cfg 
 email                   xxxxx@qq.com 
[root@sbackup ~]# systemctl restart sendmail
 [root@sbackup ~]# echo "test" | mail -s "t1230" xxxxxxx@qq.com

8.重启nagios

[root@sbackup ~]# systemctl restart nagios

9.关闭smaster节点测试

[root@sbackup ~]# tail -f /var/log/messages
Mar 26 23:53:11 sbackup nagios: SERVICE ALERT: nagiosMaster;NAGIOS;CRITICAL;HARD;1;NAGIOS CRITICAL: Cannot open status log for reading!
Mar 26 23:53:11 sbackup nagios: SERVICE EVENT HANDLER: nagiosMaster;NAGIOS;CRITICAL;HARD;1;handle-master-proc-event
Mar 26 23:53:11 sbackup nagios: job 0 (pid=2818): read() returned error 11
Mar 26 23:53:11 sbackup nagios: EXTERNAL COMMAND: ENABLE_NOTIFICATIONS;1585237991

在这里插入图片描述
邮件
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值