nagiso中nsca的配置

以下为安置配置,相关nsca软件可到 http://www.nagios.org上下载。
由于nsca在client上是主动送结果到服务器,所以在server端只要起一个nsca服务,由client端向server端发送数据就行了,所以在 
server端只需要nsca脚本和nsca配置文件即可,在client只需要send_nsca脚本和send_nsca的配置文件. 
 
3,nsca的安装.和配置及使用 
解压后./configure&&make all即可,编译完成后的起动脚本在src目录下,配置文件在sample-config下。 
平常我们都会把nsca和nsca.cfg复制到相应的目录中 
注:nsca.cfg要修改的几处地方 
nsca_user=nagios 
nsca_group=nagios 
password=nsgiospassword 
decryption_method=1 

Server端:  /usr/local/nagios/bin/nsca -d -c /usr/local/nagios/etc/nsca.cfg起服务

Client端(安装和服务器端一致即可):修改send_nsca.cfg文件 
password=nagiospassword 
decryption_method=1 
同server端一致 

我们一共需要传送以下几个参数到server(对应的参数): 
A client hostname,这个必须和监控机上设置的hostname一致! 
B service description,服务定义,同样也必须跟监控机上定义的servicename一致 
C 报警等级,0=ok,1=warning,2=critical,必须是整型 
D 报警内容,这个可以自由发挥,以能够清楚描述报警信息为原则. 
使用以下语句可以达到我们的目的: 
echo "$NSCACLIENT;$SERVICEDESC;$ALTLEVEL;$MSG"|$SEND_NSCA -H $NSCA_SERVER -to 10 -d ";" -c "$NSCA_CONF" 
以上语句里面,$NSCACLIENT=客户端的hostname,必须与监控机上定义的hostname一致 
$SERVICEDESC为服务描述,必须与监控机上定义的servicename一致 
$ALTLEVEL为报警等级,根据脚本执行结果返回 
$MSG 为返回的信息 
以上4项内容用分号分隔,然后通过send_nsca的 –d “;”参数来分别区分并发送给nagios监控机以达到发报警的目的! 
例: 
echo "mail163;NSCA;2;help me wumingzi—uptime over" | ./send_nsca -H $IP -to 10 -d ";" -c /usr/local/nagios/etc/send_nsca.cfg 
注:mail163:是指nagios监控机中的定义的host_name,也可以是机器IP 
NSCA是指nagios监控机中的service_description 
2是指传过去的状态值,这里为critical 
help me wumingzi—uptime over是指的状态说明,这里只是一个测试 
最后就是nagios里面的定义 
define host{ 
        use                     generic-host  
        host_name               mail163 
        alias                        mail163-211.153.63.2 
        address                 211.153.63.2 
        } 
define service{ 
        use                             generic-service 
        service_description             NSCA 
        active_checks_enabled           0              #设置为被动模式 
        check_command                   check_dummy!2 
        }

        active_checks_enabled           0 
        passive_checks_enabled          1 
就是定制被动监控,取消主动监控 
脚本还需要 check_dummy(这个地方随便定义即可,比如check_tcp,因为被动模式,服务器端只收取客户端的信息,所以这个地方不关键,当然如果有使用到check_freshness,默认为0,想让在故障时由服务端执行对应的指令)来配合
 
另外在commands.cfg中加入:
define command { 
        command_name check_dummy 
        command_line $USER1$/check_dummy $ARG1$ "$ARG2$" 
        }
 
最后思路:我们就很明白的想,在服务端检查各种需要的信息,把问题汇总发送到$MSG中,当然也要注意$ALTLEVEL的状态,方便在nagios中浏览,如果懂的点shell,那就简单不过了,自由发挥。
测试小技巧:如果在公司内网(不同部门之间操作还要申请等),无法操作监控,在nagios的服务器端 ssh -f -N -4 -R 5667:127.0.0.1:5667  root@211.153.63.2 ,在输入被控端机器密码即可 (当然也可做相应的路由)

本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/310329

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值