zabbix监控数据库表空间大小

1.通过脚本生成日志文件wKiom1bBj3OR1mjZAAFfkMbBdgk012.jpg

2.添加自定义脚本

Oracle_discovery.sh

通过该脚本取出表空间名,并进行JSON格式化输出(因为zabbix的自动发现功能获取的数据类型是JSON格式的)

#!/bin/bash

TABLESPACE=`cat /home/patrol/tablespace.log |awk '{print$2}'|awk 'NR>3{print}'`

COUNT=`echo "$TABLESPACE" |wc -l`

INDEX=0

echo '{"data":['

echo "$TABLESPACE" | while read LINE; do

  echo -n '{"{#TABLENAME}":"'$LINE'"}'

  INDEX=`expr $INDEX + 1`

  if [ $INDEX -lt $COUNT ]; then

    echo ','

  fi

done

oracle_check.sh

通过该脚本获取表空间大小,已使用表空间大小及表空间使用率

#!/bin/bash

EQ_DATA="http://xujh1986.blog.51cto.com/5550987/$2"

ZBX_REQ_DATA_TAB="$1"

SOURCE_DATA=http://xujh1986.blog.51cto.com/home/patrol/tablespace.log

case $2 in

  maxmb)        grep -E "$ZBX_REQ_DATA_TAB" $SOURCE_DATA |awk '{print $5*1024*1024}';;

  used)   grep -E "$ZBX_REQ_DATA_TAB" $SOURCE_DATA |awk '{print $6*1024*1024}';;

  autopercent)  grep -E "$ZBX_REQ_DATA_TAB" $SOURCE_DATA |awk '{print $7}';;

  *) echo $ERROR_WRONG_PARAM; exit 1;;

esac

exit 0

3.脚本赋权

wKiom1bBk1SAyxtvAADDR-epg4Y960.jpg

4.添加自定义监控项

[root@zabbix-client zabbix_agentd.d16:59:23]# more oracle.conf 

UserParameter=ora.tab.discovery,/etc/zabbix/scripts/oracle_discovery.sh

UserParameter=tablespace[*],/etc/zabbix/scripts/oracle_check.sh $1 $2

5.重启agent

/etc/init.d/zabbix-agent restart

6.添加发现规则

wKioL1bBlaOgDQqyAAHFzBrFcn4336.jpg

7.添加监控项

wKiom1bBlYqzyOTPAAFpFs-3NYQ133.jpg

8.配置后显示如下数据

wKiom1bBli_jl_PpAAPJn6FEX18932.jpg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值