前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Z投稿】Zabbix通过低级别发现(LLD)监控DB2

【Z投稿】Zabbix通过低级别发现(LLD)监控DB2

作者头像
Zabbix
发布2021-02-03 11:36:22
8080
发布2021-02-03 11:36:22
举报
文章被收录于专栏:Zabbix中国官方
作者简介

签名:

时光自有积少成多的力量

王 会 新

Zabbix工程师,精通Zabbix开源监控系统的架构,有较强的Shell开发能力。

擅长领域:Zabbix与Elasticsearch集成、Zabbix+Grafana、kettle等工具展示大屏及优化。

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",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]}\""

[ "

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

[ -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},然后选择倍率是在“进程”选项卡中。

点击查看大图

点击查看大图

点击查看大图

五、查看最新数据

点击查看大图

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档