2.添加自定义脚本oracle_discovery.sh通过该脚本取出"/>

zabbix监控数据库表空间大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix监控数据库表空间大小相关的知识,希望对你有一定的参考价值。

1.通过脚本生成日志文件技术分享

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="$2"

ZBX_REQ_DATA_TAB="$1"

SOURCE_DATA=/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.脚本赋权

技术分享

4.添加自定义监控项

[[email protected] 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.添加发现规则

技术分享

7.添加监控项

技术分享

8.配置后显示如下数据

技术分享

本文出自 “IT运维” 博客,请务必保留此出处http://xujh1986.blog.51cto.com/5550987/1742171

以上是关于zabbix监控数据库表空间大小的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix 3.2.6 通过Orabbix监控Oracle数据库

Zabbix 3.2.6 通过Discovery批量监控Oracle表空间

Zabbix监控Linux系统所有磁盘的总空间大小脚本

Orabbix 监控oracle表空间 Low Level Discovery

Eg挨蒙—Zabbix监控进程占cpu和内存大小及批量监控端口

zabbix企业级监控之监控数据库大小表大小