|
zabbix没有权限执行ipvsadm命令,并且没有登录终端shell,解决方案:
1
2
3
4
5
| visudo
zabbix ALL=NOPASSWD: /sbin/ipvsadm
注释掉:
#Defaults requiretty
|
1
2
3
4
5
6
7
| [iyunv@lvs-backup zabbix_agentd.conf.d]# ls /etc/zabbix/scripts/lvs_discovery_InActConn.sh
/etc/zabbix/scripts/lvs_discovery_InActConn.sh
[iyunv@lvs-backup zabbix_agentd.conf.d]# cat lvs_ActConn.conf
# monitor lvs status
UserParameter=lvs.status.discovery,/etc/zabbix/scripts/lvs_discovery_ActConn.sh
UserParameter=lvs.status,sudo /sbin/ipvsadm -L -n | egrep -v 'TCP|UDP|Virtual|LocalAddress|ActiveConn' | grep "$1" | awk '$$5 > 0 {print $$5}'
|
1
2
3
4
5
6
7
8
9
| #zabbix Server端获取数据
zabbix_get -s 10.6.6.32 -k lvs.InActive.status.discovery
{
"data":[
{"{#IFNAME}":"10.*.*.*:8080"},
{"{#IFNAME}":"10.*.*.*:8080"},
{"{#IFNAME}":"10.*.*.*:8080"},
{"{#IFNAME}":"10.*.*.*:8080"},
{"{#IFNAME}":"10.*.*.*:8080"}]}
|
2.编写zabbix配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| [iyunv@lvs-backup zabbix_agentd.conf.d]# ls /etc/zabbix/zabbix_agentd.conf.d/lvs_InActConn.conf
/etc/zabbix/zabbix_agentd.conf.d/lvs_InActConn.conf
[iyunv@lvs-backup zabbix_agentd.conf.d]# cat /etc/zabbix/scripts/lvs_discovery_ActConn.sh
#!/bin/bash
#filename: lvs_discovery.sh
#author: YuanBinbin
MY_KEY=(`sudo /sbin/ipvsadm -L -n |egrep -v 'TCP|UDP|Virtual|LocalAddress|ActiveConn' |grep "$1"|awk '$5 > 0 {print $2}'`)
length=${#MY_KEY[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
printf '\n\t\t{'
printf "\"{#IFNAME}\":\"${MY_KEY[$i]}\"}"
if [ $i -lt $[$length-1] ];then
printf ','
fi
done
printf "]}\n"
|
1
2
3
4
5
6
7
8
9
| [iyunv@lvs-backup scripts]# ./lvs_discovery_ActConn.sh
{
"data":[
{"{#IFNAME}":"10.*.9.*:8080"},
{"{#IFNAME}":"10.*.9.*:8080"},
{"{#IFNAME}":"10.*.9.*:8080"},
{"{#IFNAME}":"10.*.9.*:8080"},
{"{#IFNAME}":"10.*.9.*:8080"}]}
[iyunv@lvs-backup scripts]#
|
3.创建模板以及加入自动发现规则
创建模板
将获取的值制作成图像
脚本.zip
(1.82 KB, 下载次数: 3)
|
|