Nagios监控lvs连接数的配置教程
时间:2014-10-26 01:40 来源:linux.it.net.cn 作者:it
一、首先,在被监控机(lvs服务器)安装与配置
1. 安装软件 nagios-plugins、nrpe
#编写check_lvs脚本
复制代码代码示例:
#!/bin/bash
#Author: ly_cyz
#www.jbxue.com
ACT_COUNT=0
Inactive_count=0
stat1=`sudo ipvsadm | grep http | grep Masq|wc -l`
if [ $stat1 -ne 0 ];then
for NUM in `sudo ipvsadm | grep http | grep Masq | awk '{print $5}'`
do
ACT_COUNT=$(($ACT_COUNT+ $NUM))
done
for NUM in `sudo ipvsadm | grep http | grep Masq | awk '{print $6}'`
do
Inactive_count=$(($Inactive_count+ $NUM))
done
else
echo "LVS CRITICAL, "LVS is Down""
exit 2
fi
if [ $ACT_COUNT == 0 ];then
echo "LVS ok, "0 active connection""
exit 1
else
echo "LVS OK - LVS is running (conn: $ACT_COUNT active, $Inactive_count inactive)|active=$ACT_COUNT;69999;99999;0; inactive=$Inactive_count;69999;99999;0;"
fi
说明:由于check_lvs是要调用ipvsadm命令来获取LVS状态的,而ipvsadm命令是只能以root用户来运行的, 所以需要将nagios用户设置成可以无需密码直接su成root,这样就能以nagios用户运行命令sudo /usr/local/nagios/libexec/check_lvs ,设置方法参照第二步。
#定义监控命令
vi /usr/local/nagios/etc/nrpe.cfg
添加command[check_conn]=/usr/local/nagios/libexec/check_lvs

2. Nagios在远程监控时,在CentOS系统中无法直接使用sudo命令的。需修改/etc/sudoers
找到 #Defaults requiretty 并取消注释,另外新增一行。表示nagios用户不需要登陆终端就可以调用命令。
复制代码代码示例:
Defaults requiretty
Defaults:nagios !requiretty
#添加nagios 请求sudo,允许特定指令时(可跟参数),不需要密码(如)。
复制代码代码示例:
nagios ALL=(ALL) NOPASSWD: ALL
二、Nagios服务端配置:
1. 测试:
复制代码代码示例:
/usr/local/nagios/libexec/check_nrpe -H 211.XXX.XXX.XXX -c check_lvs
能正常输出结果即可。
2. 配置服务check_connections

(责任编辑:IT)
一、首先,在被监控机(lvs服务器)安装与配置
复制代码代码示例:
#!/bin/bash
#Author: ly_cyz #www.jbxue.com ACT_COUNT=0 Inactive_count=0 stat1=`sudo ipvsadm | grep http | grep Masq|wc -l` if [ $stat1 -ne 0 ];then for NUM in `sudo ipvsadm | grep http | grep Masq | awk '{print $5}'` do ACT_COUNT=$(($ACT_COUNT+ $NUM)) done for NUM in `sudo ipvsadm | grep http | grep Masq | awk '{print $6}'` do Inactive_count=$(($Inactive_count+ $NUM)) done else echo "LVS CRITICAL, "LVS is Down"" exit 2 fi if [ $ACT_COUNT == 0 ];then echo "LVS ok, "0 active connection"" exit 1 else echo "LVS OK - LVS is running (conn: $ACT_COUNT active, $Inactive_count inactive)|active=$ACT_COUNT;69999;99999;0; inactive=$Inactive_count;69999;99999;0;" fi 说明:由于check_lvs是要调用ipvsadm命令来获取LVS状态的,而ipvsadm命令是只能以root用户来运行的, 所以需要将nagios用户设置成可以无需密码直接su成root,这样就能以nagios用户运行命令sudo /usr/local/nagios/libexec/check_lvs ,设置方法参照第二步。
#定义监控命令
复制代码代码示例:
Defaults requiretty
Defaults:nagios !requiretty #添加nagios 请求sudo,允许特定指令时(可跟参数),不需要密码(如)。
复制代码代码示例:
nagios ALL=(ALL) NOPASSWD: ALL
二、Nagios服务端配置:
复制代码代码示例:
/usr/local/nagios/libexec/check_nrpe -H 211.XXX.XXX.XXX -c check_lvs
![]()
能正常输出结果即可。 |