• 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
  • 相关阅读:
    P2765 魔术球问题 网络流二十四题重温
    搬东西 dp
    Q
    P2774 方格取数问题 网络流重温
    2019牛客暑期多校训练1
    E. A Simple Task
    Codeforces Round #575 (Div. 3) 昨天的div3 补题
    自动化测试如何准备测试数据
    金三银四,资深HR给面试者的十大建议
    我的自动化测试之路[转载]
  • 原文地址:https://www.cnblogs.com/kellyseeme/p/5525112.html
Copyright © 2020-2023  润新知