您的位置:首页 > 服务器 > > 正文

zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)

更多 时间:2021-10-04 01:43:18 类别:服务器 浏览量:1055

zabbix怎么监控数据库

使用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
    function 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
    fi
    
  • chown 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 "\"{#TABLESPACE_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
    TABLESPACE_NAME=$1
    grep "\b$TABLESPACE_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.创建模板,模板名字随便起,这里我定义了一个宏

    zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)

    b.创建自动发现规则

    zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)

    c.创建监控项原型

    zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)

    d.创建触发器类型

    zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)

    e.创建图形原型

    zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)

    5.测试

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

    zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)

    zabbix怎么监控数据库(使用zabbix监控oracle表空间的操作流程)

    测试通过!

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

    您可能感兴趣