centos7 nagios 配置被动模式监控

本文档详细介绍了如何在CentOS7上将Nagios从主动模式转换为被动模式,以减轻服务器端压力。通过安装nsca,配置nagios服务器和客户端,以及设置相应的服务模板和命令,实现客户端定时检测并主动发送数据给服务器端展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前面,分别介绍了nagios 的server端和client端的配置,但是nagios默认是主动模式进行监控,也就是由server端主机对每台client机发起轮询,利用nrpe在client端检测,然后将检测的数据发回给server端主机。然后主机接收这些数据展示出来,这在client端机器不多时,还是可以正常的,一旦机器开始多起来,每台机的检测命令躲起来,对于server端的CPU资源消耗就会非常大,在集中轮询的时候,常会遇到cpu会带不动,数据丢失,延迟过大等等。
为此,需要向主动模式改为被动模式,让client端客户机自己定时检测,然后发数据给server端。server端只负责对接受到的数据的处理和展示即可。大大降低了server 端的压力。让压力均摊到各个client端了。在面对大量client客户端时,也能正常的进行监控工作。
这里,记录一下nagios被动模式配置。基于前面两篇nagios,server端和client端安装与配置的基础。
这里使用 nsca 来实现被动模式。


一。server服务端配置
1.首先,下载安装nsca
$ yum install libmcrypt (安装需要的依赖包)
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz
$ tar -zxvf nsca-2.7.2.tar.gz
$ cd nsca-2.7.2
$ ./configure
$ make all
$ cp src/nsca /usr/local/nagios/bin/ (将可执行文件复制到nagios内)
$ cp sample-config/nsca.cfg /usr/local/nagios/etc/ (将配置文件放到nagios内)
$ chmod 755 /usr/local/nagios/bin/nsca (服务执行文件权限)
$ chown nagios.nagios /usr/local/nagios/bin/nsca (改变文件的所属权)
$ chown nagios.nagios /usr/local/nagios/etc/nsca.cfg (改变文件的所属权)


2.配置nsca
$ vim /usr/local/nagios/etc/nsca.cfg
$ server_address=192.168.1.1 (这个为server端地址,写上本机IP即可)
$ debug=1 (开启日志记录) 
$ aggregate_writes=1 (合计写入,开启可支持更大监控亮量)
$ max_packet_age=60 (数据包过期时间,单位秒)
$ nsca_user=nagios
$ nsca_group=nagios
$ password=nagios_nsca (nsca密码,用于客户端连接时的认证)


3.配置xinetd守护启动
$ vim /etc/services (编辑services)
---------------------------------------------------------------------------------
nsca 5667/tcp # nsca (添加这一行在最下面)


-----------------------------------------------------------------------------------
$ cp sample-config/nsca.xinetd /etc/xinetd.d/nsca (将nsca的启动文件拷贝到xinetd)
$ vim /etc/xinetd.d/nsca
-----------------------------------------------------------------------
service nsca
{
        flags           = REUSE
        socket_type     = stream     
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/bin/nsca
        server_args     = -c /usr/local/nagios/etc/nsca.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = 127.0.0.1 192.168.1.2 (多个监控端在这里添加,中间用空格隔开)
}
--------------------------------------------------------------------------------------------------
$  systemctl restart xinetd (重新启动加载nsca)


3.配置nagios的配置文件,设置被动模式的service模板和命令等
$ vim /usr/local/nagios/etc/nagios.cfg
----------------------------------------------------------
check_external_commands = 1  (确保这个选项开启)
----------------------------------------------------------
$ vim /usr/local/nagios/objects/templates.cfg (配置被动模式模板)
---------------------------------------------------------------------------------------
## 其他配置,根据使用情况自己自定义
define service{
        name                            passive_service
        use                             generic-service
        max_check_attempts              3   
        normal_check_interval           5
        active_checks_enabled           0  (关闭主动模式)
        passive_checks_enabled          1    (开启被动模式)
        retry_check_interval            1   
        register                        0   
    } 
------------------------------------------------------------


$ vim /usr/local/nagios/objects/commands.cfg (添加命令)
-----------------------------------------------------------------------------------------------
## 这个是用来对接受的数据,状态判断的命令
define command{
    command_name    check_dummy
    command_line    /usr/local/nagios/libexec/check_dummy $ARG1$
-----------------------------------------------------------------------------------------------


$ vim vim /usr/local/nagios/objects/services.cfg ( 添加服务 ,之前自定义的配置文件,详见前两篇 nagios安装教程)
define service{
        use                             passive_service
        host_name                       nagios-client
        service_description             CheckDummy
        check_command                   check_dummy!0
        notifications_enabled           1   
    }


$ killall nagios
$ /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg (重启nagios) 




二。nagios客户端配置
1.安装配置send_nsca ,与服务端安装类似
$ yum install libmcrypt
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz
$ tar -zxvf nsca-2.7.2.tar.gz
$ ./configure
$ make all
$ cp src/send_nsca /usr/local/nagios/bin/
$ cp sample-config/send_nsca.cfg /usr/local/nagios/etc/
$ chmod 755 /usr/local/nagios/bin/send_nsca
$ chown nagios.nagios /usr/local/nagios/bin/send_nsca
$ chown nagios.nagios /usr/local/nagios/etc/send_nsca.cfg 


2.配置send_nsca
$ vim /usr/local/nagios/etc/send_nsca.cfg
$ password=nagios_nsca (连接服务端的认证密码)


3.测试client端发送数据。
$echo "192.168.1.2;CheckDummy;0;hello passive service"|/usr/local/nagios/bin/send_nsca -H 192.168.1.1 -d ";" -c /usr/local/nagios/etc/send_nsca.cfg


1 data packet(s) sent to host successfully. (成功发送会有这个提示)
然后在nagios管理界面,就可以看到这个service的信息了。


OK,到此就算是配置完了被动模式的监控,至于如何使用被动模式,配置定时检测,发送警报和邮件,编写被动模式的检测脚本,则在后面再新开一篇进行专项记录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值