1. 首页
  2. 技术知识

使用zabbix监控oracle表空间的操作流程

0.概述

zabbix是一款极其强大的开源监控工具,下面我分享下zabbix如何监控表空间,跟着这个思路,监控其他项都是类似操作。

前提条件是你已经有了zabbix server和zabbix agent,且zabbix agent与oracle数据库运行在一台机器上面。


1.在agent上面准备脚本

a.定义查表空间使用率的脚本

/home/oracle/get_tablespace_usage.sh

#!/bin/bash

# get tablespace usage

source ~/.bash_profile

functiоn check {

sqlplus -S “/ as sysdba” <<  EOF

set linesize 200 pagesize 200

set feedback off heading off

spool /tmp/tablespace.log

select tablespace_name,round(used_percent) used_percent from dba_tablespace_usage_metrics;

spool off

quit

EOF

};

check &> /dev/null

errors=`grep ERROR /tmp/tablespace.log | wc -l`

if [ “$errors” -gt 0 ]; then

    echo “” > /tmp/tablespace.log

fichown oracle: get_tablespace_usage.sh

chmod 755 get_tablespace_usage.sh

b.定义表空间自动发现的脚本

/etc/zabbix/scripts/discovery_tablespace.sh

#!/bin/bash

# zabbix auto discovery oracle tablespace

tablespaces=(`cat /tmp/tablespace.log | awk ‘{print $1}’ | grep -v “^$”`)

length=${#tablespaces[@]}

printf “{\n”

printf ‘\t'”\”data\”:[”

for ((i=0;i<$length;i++))

do

    printf “\n\t\t{”

    printf “\”{#TABLЕSPACE_NAME}\”:\”${tablespaces[$i]}\”}”

    if [ $i -lt $[$length-1] ];then

        printf “,”

    fi

done

    printf “\n\t]\n”

printf “}\n”chmod 755/etc/zabbix/scripts/discovery_tablespace.sh

c.定义表空间监控项脚本

/etc/zabbix/scripts/tablespace_check.sh

#!/bin/bash

# oracle tablespace check

TABLЕSPACE_NAME=$1

grep “\b$TABLЕSPACE_NAME\b” /tmp/tablespace.log | awk ‘{print $2}’chmod 755/etc/zabbix/scripts/tablespace_check.sh


2.将脚本a放入crontab里面

su – oracle

crontab -e

*/5 * * * * /home/oracle/get_tablespace_usage.sh

执行的结果查看/tmp/tablespace.log,第一列是表空间的名字,第二列是对应的表空间使用率

EXAMPLE                                   2                                                                                                                                                            

SYSAUX                                    3                                                                                                                                                            

SYSTEM                                    5                                                                                                                                                            

TBS01                                    85                                                                                                                                                            

TEMP                                      0                                                                                                                                                            

UNDOTBS1                                  0                                                                                                                                                            

USERS                                     1
3.编辑agent参数

vi /etc/zabbix/zabbix_agentd.d/userparameter_oracle.conf

# tablespace usage

UserParameter=discovery.tablespace,/etc/zabbix/scripts/discovery_tablespace.sh

UserParameter=tablespace.check.

  • ,/etc/zabbix/scripts/tablespace_check.sh $1
    4.在zabbix web界面中设置相关选项

    a.创建模板,模板名字随便起,这里我定义了一个宏

    b.创建自动发现规则

    c.创建监控项原型

    d.创建触发器类型

    e.创建图形原型

    5.测试

    我将一个表空间创建表,并插入数据,使其超过80%,看其是否报警

    测试通过!
    到此这篇关于使用zabbix监控oracle表空间的操作流程的文章就介绍到这了,更多相关zabbix监控oracle表空间内容请搜索共生网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持共生网络!

  • 原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/106626.html

    联系我们