IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]zabbix3.0.2 监控oracle高可用dataguard的standby库状态详细过程

    mchdba发表于 2016-05-28 00:38:37
    love 0

     

     

     

    <-报错->,root调用脚本1get_dg.sh出错

    [root@zabbix_serv_121_12 ~]#/usr/local/zabbix/bin/zabbix_get -s 192.168.3.13 -p10050 -k"oracle.standby_status"

    standard in must be a tty

    1

    [root@zabbix_serv_121_12 ~]#

     

    1,调整脚本1get_dg.sh

    需要在脚本里面配置一些oracle的环境变量,这样可以利用当前的zabbix帐号来运行sqlplus命令:

    [root@pldb02 data]# more get_dg.sh

    #!/bin/bash

    #tbname="v$archived_log"

    #echo $tbname

    #result=`sqlplus zabbix/ys_zb_0418@PD2`

    #sqlplus -S '/nolog' zabbix/ys_zb_0418@PD2 << EOF

    #su - oracle -c "

    export NLS_LANG=american_america.ZHS16GBK

    export ORACLE_BASE=/oracle/app/oracle

    export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1

    export ORACLE_SID=powerdesdg2

    export PATH=$ORACLE_HOME/bin:$PATH

     

    cd /oracle/backup/data

    sqlplus -S zabbix/ys_zb_0418@PD2 << EOF

    set heading off

    set feedback off

    set pagesize 0

    set verify off

    set echo off

    spool bts.csv 

    select sequence#,applied from $1 order by sequence#;

    spool off

    exit

    EOF

     

    [root@pldb02 data]#

     

     

    2,脚本2 check_dg.sh

    [root@pldb02 data]# more check_dg.sh

    #!/bin/bash

    #> /oracle/backup/data/bts.csv

    /bin/sh /oracle/backup/data/get_dg.sh $1 > /dev/null

     

     

    cd /oracle/backup/data

    result_num=`cat bts.csv |wc |awk '{print $1}'`

    yes_num=`cat bts.csv |grep YES |wc |awk '{print $1}'`

    in_memory_num=`cat bts.csv |grep IN-MEMORY  |wc |awk '{print $1}'`

    out_num=0;

    standby_num=`expr $yes_num + $in_memory_num + $out_num`

    if [ "$result_num" -eq 0 ]

    then

             echo 0

    elif [ "$result_num" -eq 1 ]

    then

            echo 0

    elif [ "$result_num" -eq "$standby_num" ]

    then

             echo 1

    else echo 0

    fi

    [root@pldb02 data]#

     

     

    3,加入oracle用户

        gpasswd -a zabbix oinstall

        gpasswd -a zabbix dba

        gpasswd -a zabbix oracle

     

    4,Zabbix配置文件

    vim /usr/local/zabbix/conf/zabbix_agentd.conf

    UnsafeUserParameters=1

    UserParameter=oracle.standby_status,/oracle/backup/data/check_dg.sh 'v$archived_log'

     

    重启zabbix_agentd

     

    5,在zabbix-server服务器上检查standby

    在zabbix-server的服务器上,远程调用oracle的standby上的状态监控,看到能获取到实际的值1:

    [root@zabbix_serv_121_12 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.3.13 -p10050 -k "oracle.standby_status"

    1

    [root@zabbix_serv_121_12 ~]#

     

     

    6,在zabbix管理界面添加standby

    建立oracle模版22.png:

     

     

    Actions里面添加    模版21.png:

     

     




沪ICP备19023445号-2号
友情链接