zabbix监控LVS

一、环境说明

dip:10.0.0.12

rip:10.0.0.9

rip:10.0.0.10

二、新建脚本 

[root@lvs-master zabbix]# cat lvs-status.sh 

#!/bin/bash

# get lvs connection @2015/05/3 by v1

# author:walter

function AllConn {

        sudo /sbin/ipvsadm -L -n |awk '{print $5}'| awk 'BEGIN{sum=0}{sum+=$1}END{print sum}'   //这个是有点问题的

}

function 9Conn {

        sudo /sbin/ipvsadm -L -n | grep 0.9|awk '{print $5}'

}

function 10Conn {

        sudo /sbin/ipvsadm -L -n | grep 0.10|awk '{print $5}'

}

function AllInConn {

        sudo /sbin/ipvsadm -L -n |awk '{print $6}'| awk 'BEGIN{sum=0}{sum+=$1}END{print sum}'

}

function 9InConn {

        sudo /sbin/ipvsadm -L -n | grep 0.9|awk '{print $6}'

}

function 10InConn {

        sudo /sbin/ipvsadm -L -n | grep 0.10|awk '{print $6}'

}

# Run the requested function

$1

三、修改配置文件

zabbix agent 添加如下,并重启agent.

[root@lvs-master zabbix]# vim zabbix_agentd.conf 

### ipvsadm Active

UserParameter=AllConn,/etc/zabbix/lvs-status.sh AllConn

UserParameter=9Conn,/etc/zabbix/lvs-status.sh 9Conn

UserParameter=10Conn,/etc/zabbix/lvs-status.sh 10Conn

### ipvsadm InActive

UserParameter=AllInConn,/etc/zabbix/lvs-status.sh AllInConn

UserParameter=9InConn,/etc/zabbix/lvs-status.sh 9InConn

UserParameter=10InConn,/etc/zabbix/lvs-status.sh 10InConn

四、排错

由于之前lvs-status.sh 脚本没有加入sudo ,所以看agent日志报如下:

[root@lvs-master zabbix]# tail -f /tmp/zabbix_agentd.log 

Can't initialize ipvs: Permission denied (you must be root)

Are you sure that IP Virtual Server is built in the kernel or as module?

但是加入sudo 又报如下:

sudo: sorry, you must have a tty to run sudo

最终解决办法是visudo 修改如下:

[root@lvs-master ~]# visudo

注释Defaults requiretty

#Defaults requiretty

添加

zabbix ALL=(ALL) NOPASSWD:/sbin/ipvsadm

五、zabbix server 测试

[root@jumper ~]# zabbix_get -s 192.168.100.14 -p 10050 -k "lvs.AllConn"

2326

发表评论


表情