


往期投稿Top
田川
CentOS7x64上yum安装Zabbix 3.0,一次全部搞定,100%成功
杨帆
Zabbix性能数据实时对接kafka
作者简介
Zabbix通过低级别发现(LLD)监控DB2

一.环境说明
采用Zabbix4.0的server和agent
二、创建脚本
创建路径:
mkdir usr/local/zabbix_agents/scripts
切换路径:
cd /usr/local/zabbix_agents/scripts
编辑脚本:
vim tbDiscovery.sh
#!/bin/bash
getDB2tablespaceInfo(){
DBNAME=testdb
DBUSER=db2inst1
DBPASSWORD=dbserver
DBCMD=/home/db2inst1/sqllib/bin/db2
$DBCMD connect to $DBNAME user $DBUSER using $DBPASSWORD &> /dev/null
$DBCMD "select DBPARTITIONNUM,TBSP_NAME,TBSP_UTILIZATION_PERCENT,TBSP_TOTAL_SIZE_KB,TBSP_USED_SIZE_KB from SYSIBMADM.TBSP_UTILIZATION where TBSP_NAME in (select TBSP_NAME from SYSIBMADM.SNAPTBSP where TBSP_TYPE='DMS') order by DBPARTITIONNUM,TBSP_NAME" > /tmp/.space.txt
grep ^' ' /tmp/.space.txt | head -n-1 |awk '{printf "%s %s %s %s\n",$2,$3,$4,$5}' > /tmp/.space.row.txt
}
TBName(){
num=0
# var countNum used for whether print the last comma
countNum=$(wc -l /tmp/.space.row.txt | awk '{print $1}')
echo -e "{\n\t\"data\":["
while read line
do
record=($line)
num=$[num+1]
echo -e "\t{"
echo -e "\t\t\"{#TBSP_NAME}\":\"${record[0]}\""
[ "$num" == "$countNum" ] && echo -e "\t}" || echo -e "\t},"
done < /tmp/.space.row.txt
echo -e "\t]\n}"
}
TBDetail(){
case $2 in
name)
grep $1 /tmp/.space.row.txt | awk '{print $1}';;
pused)
grep $1 /tmp/.space.row.txt | awk '{print $2}';;
total)
grep $1 /tmp/.space.row.txt | awk '{print $3}';;
used)
grep $1 /tmp/.space.row.txt | awk '{print $4}';;
esac
}
main(){
getDB2tablespaceInfo
[ $# -eq 0 ] && TBName
[ $# -eq 2 ] && TBDetail $1 $2
[ -f /tmp/.space.txt ] && rm -f /tmp/.space.txt
[ -f /tmp/.space.row.txt ] && rm -f /tmp/.space.row.txt
}
main $1 $2
指定用户及所属组:
chown -R zabbix:zabbix /usr/local/zabbix_agents
给脚本执行权限:
chmod+x/usr/local/zabbix_agents/scripts/tbDiscovery.sh
三、添加扩展配置文件
修改zabbix_agent配置文件:
cd /usr/local/zabbix_agents
vim etc/zabbix_agentd.conf
Include=/usr/local/zabbix_agents/etc/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters=1
创建db2_tablespace.conf文件:
vim etc/zabbix_agentd.conf.d/db2_tablespace.conf
UserParameter=db2.tbspname.discovery[*], /usr/local/zabbix_agents/scripts/tbDiscovery.sh
UserParameter=db2.tbspinfo[*], /usr/local/zabbix_agents/scripts/tbDiscovery.sh $1 $2
重启zabbix agent服务:
etc/zabbix_agentd.conf.d/db2_tablespace.conf
四、添加自动发现规则
01 | 创建发现规则 |
选择主机或者模板,创建发现规则,
键值为db2.tbspname.discovery[*],
键值对应脚本输出的是标准格式Jason,否则报错。

点击查看大图
02 | 创建监控原型 |
创建发现规则后就可以获取到宏变量{#TBSP_NAME},然后选择倍率是在“进程”选项卡中。

点击查看大图

点击查看大图

点击查看大图
五、查看最新数据

点击查看大图



欢迎投稿
Z投稿专栏为大家提供一个展现自己的平台,作者观点不等同社区观点,欢迎读者在评论区留言讨论
文章内容
与运维、Zabbix相关即可
投稿方式
私信Z小秘
(微信/电话 13817720274)
小福利
点击查看积分


Monitor Anything, Aavailable anywhere

电话:13817720274(微信同号)
邮箱:china@zabbix.com
网站:www.zabbix.com/cn www.grandage.cn

一键关注
关注公众号
加入社区群


Zabbix社区,因你而更美好





