nagios分布式配置

nagios分布式配置

作者:SA Team 2011-03-28 13:39:45

运维

系统运维

分布式 nagios的分布式是通过在主服务端开启nsca接口进行内容的接收,客户端通过调用send_nsca程序,进行内容的传输,服务端在接收到约定格式的内容后,进行告警。以下内容省略了,nagios的主服务端与分布式服务端的安装步骤。

 

 

图-nagios

nagios分布式配置具体过程如下:

  一、NSCA插件安装与配置

  http://nchc.dl.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz

  编译安装nsca:

  查看源代码

  打印帮助0./configure && make all

  nagios主服务端:

  1.拷贝nsca相关文件至nagios目录

  查看源代码

  打印帮助0cp sample-config/nsca.cfg /usr/local/nagios/etc/

  1cp src/nsca /usr/local/nagios/bin/

  2chown nagios.nagios /usr/local/nagios/etc/nsca.cfg

  3chown nagios.nagios /usr/local/nagios/bin/nsca

  2.配置nsca.cfg文件中password

  查看源代码

  打印帮助0vi /usr/local/nagios/etc/nsca.cfg #去掉password前面的#,设置密码

  1password=xxx

  3.开启nsca程序

  查看源代码

  打印帮助0/usr/local/nagios/bin/nsca -c /usr/local/nagios/etc/nsca.cfg

  4.开启防火墙5667端口

  查看源代码

  打印帮助0iptables -I RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5667 -j ACCEPT

  nagios分布式服务端:

  1.拷贝send_nsca相关文件至nagios目录

  查看源代码

  打印帮助0cp sample-config/send_nsca.cfg /usr/local/nagios/etc/

  1cp src/send_nsca /usr/local/nagios/bin/

  2chown nagios.nagios /usr/local/nagios/etc/send_nsca.cfg

  3chown nagios.nagios /usr/local/nagios/bin/send_nsca

  2.配置nsca.cfg文件中password

  查看源代码

  打印帮助0vi /usr/local/nagios/etc/send_nsca.cfg #去掉password前面的#,配置与主服务端相同的密码

  1password=xxx

#p#

  二、Nagios主服务端与分布式服务端配置

  nagios主服务端:

  1.修改nagios.cfg文件

  查看源代码

  打印帮助0vi /usr/local/nagios/etc/nagios.cfg

  1#修改以下参数值

  2check_external_commands=1

  3accept_passive_service_checks=1

  4accept_passive_host_checks=1

  2.修改服务与主机的监控,以下为配置示例,该示例定义的服务与主机应该与分布式服务端相同

  查看源代码

  打印帮助00define host{

  01name test

  02use generic-host

  03address 192.168.0.8 #分布式服务端内监控的主机地址

 

  04check_freshness 1 #开启强制刷新

  05freshness_threshold 480 #主服务端强制刷新的时间,具体含义请参考手册

  06passive_checks_enabled 1 #开启被动检测模式

  07active_checks_enabled 0 #关闭主服务端对该服务的主动检测

  08

     

      09}

      10define service{

      11use generic-service #根据实际情况修改

      12host_name test

      13service_description CPU Load

      14check_command check_nrpe!check_load

      15

      16check_freshness 1 #开启强制刷新

      17freshness_threshold 480 #主服务端强制刷新的时间,具体含义请参考手册

      18passive_checks_enabled 1 #开启被动检测模式

      19active_checks_enabled 0 #关闭主服务端对该服务的主动检测

      20}

    #p#

      nagios分布式服务端:

      1.修改nagios.cfg文件

      查看源代码

      打印帮助0vi /usr/local/nagios/etc/nagios.cfg

      1#修改以下参数值

      2enable_notifications=0

      3obsess_over_services=1

      4ocsp_command=submit_service_check_result

      5obsess_over_hosts=1

      6ochp_command=submit_host_check_result

      2.创建submit_service_check_result脚本

      查看源代码

      打印帮助00vi /usr/local/nagios/libexec/submit_service_check_result

      01#!/bin/sh

      02# Arguments:

      03# = host_name (Short name of host that the service is

      04# associated with)

      05# = svc_description (Description of the service)

      06# = state_string (A string representing the status of

      07# the given service – “OK”, “WARNING”, “CRITICAL”

      08# or “UNKNOWN”)

      09# = plugin_output (A text string that should be used

      10# as the plugin output for the service checks)

      11#

      12# Convert the state string to the corresponding return code

      13return_code=-1

      14case “$3” in

      15OK)

      16return_code=0

      17;;

      18WARNING)

      19return_code=1

      20;;

      21CRITICAL)

      22return_code=2

      23;;

      24UNKNOWN)

      25return_code=-1

      26;;

      27esac

      28# pipe the service check info into the send_nsca program, which

      29# in turn transmits the data to the nsca daemon on the central

      30# monitoring server

      31/usr/bin/printf “%s\t%s\t%s\t%s\n” “$1” “$2” “$return_code” “$4” | /usr/local/nagios/bin/send_nsca -H 1.1.1.1(修改为主服务端的ip) -c /usr/local/nagios/etc/send_nsca.cfg

      查看源代码

      打印帮助0chmod +x /usr/local/nagios/libexec/submit_service_check_result

      1chown nagios.nagios submit_service_check_result

      3.创建submit_host_check_result脚本

      查看源代码

      打印帮助00vi /usr/local/nagios/libexec/submit_host_check_result

      01#!/bin/sh

      02# Arguments:

      03# = host_name (Short name of host that the service is

      04# associated with)

      05# = svc_description (Description of the service)

      06# = state_string (A string representing the status of

      07# the given service – “OK”, “WARNING”, “CRITICAL”

      08# or “UNKNOWN”)

      09# = plugin_output (A text string that should be used

      10# as the plugin output for the service checks)

      11#

      12# Convert the state string to the corresponding return code

      13return_code=-1

      14case “$2” in

      15UP)

      16return_code=0

      17;;

      18DOWN)

      19return_code=1

      20;;

      21UNREACHABLE)

      22return_code=2

      23;;

      24esac

      25# pipe the service check info into the send_nsca program, which

      26# in turn transmits the data to the nsca daemon on the central

      27# monitoring server

      28/usr/bin/printf “%s\t%s\t%s\n” “$1” “$return_code” “$3” | /usr/local/nagios/bin/send_nsca -H 1.1.1.1(修改为主服务端的ip) -c /usr/local/nagios/etc/send_nsca.cfg

    #p#

      查看源代码

      打印帮助0chmod +x /usr/local/nagios/libexec/submit_host_check_result

      1chown nagios.nagios submit_host_check_result

      3.在command.cfg文件中定义submit_service_check_result,submit_host_check_result命令

      查看源代码

      打印帮助0vi /usr/local/nagios/etc/objects/command.cfg #加入以下内容

      1define command{

      2command_name submit_service_check_result

      3command_line /usr/local/nagios/libexec/submit_service_check_result $HOSTNAME$ ‘$SERVICEDESC$’ $SERVICESTATE$ ‘$SERVICEOUTPUT$’

      4}

      5define command{

      6command_name submit_host_check_result

      7command_line /usr/local/nagios/libexec/submit_host_check_result $HOSTNAME$ $HOSTSTATE$ ‘$HOSTOUTPUT$’

      8}

      4.配置示例

      查看源代码

      打印帮助00define host{

      01name test

      02use generic-host

      03address 192.168.0.8 #分布式服务端内监控的主机地址

      04}

      05define service{

      06use generic-service #根据实际情况修改

      07host_name test

      08service_description CPU Load

      09check_command check_nrpe!check_load

      10}

      BTW:请注意分布式服务端与主服务端定义主机与服务配置的区别,当分布式服务端定义了主机与服务时,同样需要在主服务端定义一次。以下几个参数无需在分布式服务端特殊定义。

      check_freshness,freshness_threshold,passive_checks_enabled,active_checks_enabled

      freshness_threshold 强制刷新时间,主要的作用是当分布式服务端未提交新的数据时,服务端可以强制进行状态刷新,进行及时的预警。

      如何在不安装分布式nagios的情况下,监控另一防火墙后的内网主机呢?其实方法很多,比如check_ssh,这里共享一个方法,该方法是同事nonamexz想到的。

      通过nagios的自定义变量,在nrpe的命令行增加一个端口的参数,自定义端口,通过防火墙进行映射至内网不同的服务器

      查看源代码

      打印帮助00define command{

      01command_name check_NRPE #定义一个新的命令

      02command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p $_HOSTPORT$ -t 60

      03}

      04define host{

      05name test

      06use generic-host

      07address 2.2.2.2 #需要监控的服务器的外网地址,比如防火墙地址

      08_PORT 5668 #自定义的外网端口,改端口是通过防火墙进行内的需要监控的服务器的nrpe的端口映射

      09}

      10define service{

      11use generic-service

      12host_name test

      13service_description CPU Load

      14check_command check_NRPE!check_load #这里定义的时候,使用自定义的nrpe

通过文章的介绍,我们清楚的知道了nagios分布式配置全过程!

【编辑推荐】

  • RHEL安装nagios
  • Nagios :扩展提示信息发送方式(smtp, msn, fetion)
  • nagios 安装过程
  • 启动nagios服务
  • 如何编写 Nagios 插件
  • 配置 新的Nagios

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/240705.html<

(0)
管理的头像管理
上一篇2025-04-24 00:09
下一篇 2025-04-24 00:11

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注