nagios高可用性设置

1、 前言

如何来实现nagios监控系统的高可用,监控是很重要的,在关键时刻进行通知报警,通知人员进行相应的处理。

在进行配置的时候,需要配置两台相同服务的nagios服务器,配置相同,同时在运行,此时会存在两个问题:

Ø 在某个服务或者主机进行报警的时候,会同时发出通知,从而产生不必要的重复报警

Ø 所有的服务或者主机都会被检查两次,在网络繁忙的时候会占用生成环境的资源

要解决这两个问题,那么就必须将nagios服务器设置为主备关系,在nagios主服务发生问题的时候,nagios备服务进行接管工作,从而让nagios监控高可用

2、 基本设置

在设置nagios主备服务器的时候,必须准备两台环境相同的服务器,在其中需要安装的软件如下:

Ø Nagios核心程序

Ø Nagios插件

Ø NRPE

Ø PHP

Ø Apache

设置完成之后,两台nagios服务器均能进行发送报警通知,并且均是正常运行。

在此实验中,环境如下:

Nagios主服务器


Nagios备服务器:


3、 nagios主服务器配置

nagios主服务器中主要要设置检查nagios服务命令

3.1 检查主服务器设置

主要来进行验证命令是否能准确的监测到nagios进程:


命令如下:

/usr/local/nagios/libexec/check_nagios -e 5 -F /usr/local/nagios/var/status.dat -C /usr/local/nagios//bin/nagios

从上面检查可以看到能够正确的监测到nagios进程


当监测不到nagios进程显示如上

3.2 配置nrpe

配置文件路径如下:


在其中添加命令如下:


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、nagios备服务器配置

4.1 测试备用服务器连接主服务器


如上所示,表示能够正确连接到nagios主服务器,并且能监测到nagios主进程服务

4.2 复制相关档案

创建目录,用来存放相关的配置:


找到编译的时候nagios的路径,如下:


将相关的配置文件拷贝到创建的目录中,如下:


4.3 修改命令配置文件

命令配置路径如下:


在其中添加的内容如下:

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$ $SERVICESTATETYPE$ $SERVICEATTEMPT$

}

define command {

 command_name check_nrpe

 command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

4.4 修改本地监控配置文件

配置文件路径如下:


在其中添加的内容如下:

define host {

        use                             critical-host

        host_name                       nagiosMaster

        alias                           nagios master

        address                         192.168.1.50

        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

}

4.5 修改模板文件

主要用来增加两个模板,路径如下:


在其中增加的内容如下:

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                      

        }

4.6 修改nagios核心文件

路径如下:


将其中的通知进行关闭:


3、 测试

5.1 关闭监控服务器查

nagios主机上能收到通知邮件,如下:


在nagios备机上不会收到邮箱通知,如下:


5.2 nagios服务切换

关闭nagios主机nagios服务,此时nagios备机启用服务通知:


启动nagios主机nagios服务,此时nagios备机关闭服务通知:


此时nagios主机开始发送报警通知:


6、附录事件脚本的处理内容



for linux and python
原文地址:https://www.cnblogs.com/kellyseeme/p/5525112.html