- 论坛徽章:
- 0
|
NSCA安装配置及使用
1,下载
地址:http://nchc.dl.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz
2,软件环境
由于nsca在client上是主动送结果到服务器,所以在server端只要起一个nsca服务,由client端向server端发送数据就行了,所以在server端只需要nsca脚本和nsca配置文件即可,在client只需要send_nsca脚本和send_nsca的配置文件.
3,nsca的安装.和配置及使用
解压后./configure&&make all即可,编译完成后的起动脚本在src目录下,配置文件在sample-config下。
Server端: /usr/local/nagios/bin/nsca -d -c
/usr/local/nagios/etc/nsca.cfg
起服务,平常我们都会把nsca和nsca.cfg复制到相应的目录中
注:nsca.cfg要修改的几处地方
nsca_user=admin
nsca_group=admin
password=testpassword
decryption_method=1
这样server端服务就起来了
Client端:修改send_nsca.cfg文件
password=testpassword
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
"test;TEST_NSCA;2;hahajusttest" | ./send_nsca -H $IP -to 10
-d ";" -c /usr/local/nagios/etc/send_nsca.cfg
注:test:是指nagios监控机中的定义的host_name
TEST_NSCA是指nagios监控机中的service_description
2是指传过去的状态值,这里为critical
Hahajusttest是指的状态说明,这里只是一个test
最后就是nagios里面的定义
define host{
use generic-host
host_name test
alias test
address 192.168.0.12
contact_groups test_admins
}
define hostgroup{
hostgroup_name WWW_WEB
alias WWW_WEB
members test
}
define service{
use generic-service
hostgroup_name WWW_WEB
service_description TEST_NSCA
check_freshness 0
max_check_attempts 1
normal_check_interval 10
retry_check_interval 1
contact_groups test_admins
notification_options w,c
active_checks_enabled 0
passive_checks_enabled 1
check_command check_dummy!2
}
active_checks_enabled 0
passive_checks_enabled 1
就是定制被动监控,取消主动监控
脚本还需要check_dummy来配合
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/40462/showart_508325.html |
|