当前位置: > Linux服务器 > 监控工具 >

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
check_nrpe

能正常输出结果即可。
2. 配置服务check_connections
check_connections

 
(责任编辑:IT)
------分隔线----------------------------