[Zabbix] Oracle 监控

# Orabbix介绍

orabbix是一个用来监控oracle数据库性能的zabbix插件工具,通过安装在被监控服务器上客户端上收集数据并传给zabbix服务器端,然后通过调用图形显示。具有以下功能:

(1)、数据库版本

(2)、归档文件

(3)、等待的事件(如文件的I/O,单块的读,多块的读,直接读,SQLNet消息,控制文件I/O,日志写等)

(4)、HitRatio(监控Hit Ratio的触发,表/存储过程,SQLArea,Body)

(5)、逻辑I/O(当前读操作,持续的读操作,块的更改)

(6)、PGA

(7)、SGA(固定的缓冲,JAVApool,Large Pool,Log Buffer,SharedPool,Buffer Cache)

(8)、物理I/O(重写操作,数据文件写操作,数据文件读操作)

9、SharePool(PoolDictionary Cache, Pool Free Memory,Library Cache,Sql Area ,Misc.)

10、Pin Hit Ratio(monitor Hit Ratio on Trigger,Tables/Procedures, SQLArea,Body)

11、Session/Processes(monitor Sessions and processes)

12、Session (ActiveSession, Inactive Sessions, SystemSession)

 

一、安装 jdk

#cd /usr/local/src/tarbag/

#tar -zxvf jdk-8u144-linux-x64.tar.gz

#mv jdk1.8.0_144 /usr/local/java

# vi /etc/profile

export JAVA_HOME=/usr/local/java

CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar

PATH=/usr/local/java/bin:$PATH

export PATH JAVA_HOME CLASSPATH

 

# source /etc/profile

# java -version

java version "1.8.0_144"

Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

 

二、创建 Oracle监控账号

#创建监控用户zabbix语句

CREATE  USER zabbix IDENTIFIED BYzabbix DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;

GRANT  ALTER SESSION TO zabbix;

GRANT CREATE SESSION TO zabbix;

GRANT CONNECT TO zabbix;

ALTER USER zabbix DEFAULT ROLE ALL;

GRANT SELECT ON V_$INSTANCE TO zabbix;

GRANT SELECT ON DBA_USERS TO zabbix;

GRANT SELECT ON V_$LOG_HISTORY TO zabbix;

GRANT SELECT ON V_$LOG TO zabbix;

GRANT SELECT ON V_$PARAMETER TO zabbix;

GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO zabbix;

GRANT SELECT ON V_$LOCK TO zabbix;

GRANT SELECT ON DBA_REGISTRY TO zabbix;

GRANT SELECT ON V_$LIBRARYCACHE TO zabbix;

GRANT SELECT ON V_$SYSSTAT TO zabbix;

GRANT SELECT ON V_$PARAMETER TO zabbix;

GRANT SELECT ON V_$LATCH TO zabbix;

GRANT SELECT ON V_$PGASTAT TO zabbix;

GRANT SELECT ON V_$SGASTAT TO zabbix;

GRANT SELECT ON V_$LIBRARYCACHE TO zabbix;

GRANT SELECT ON V_$PROCESS TO zabbix;

GRANT SELECT ON DBA_DATA_FILES TO zabbix;

GRANT SELECT ON DBA_TEMP_FILES TO zabbix;

GRANT SELECT ON DBA_FREE_SPACE TO zabbix;

GRANT SELECT ON V_$SYSTEM_EVENT TO zabbix;

GRANT SELECT ON V_$locked_object TO zabbix;

GRANT SELECT ON dba_objects TO zabbix;

GRANT SELECT ON dba_tablespaces TO zabbix;

GRANT SELECT ON v_$SESSION TO zabbix;

 

# Oracle11g版本,则再执行以下语句

exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description=> 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');

exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');

commit;

 

 

三、安装部署Orabbix

#可以安装在oralce服务器上,也可以在其他有java环境的机器上!

#mkdir /usr/local/orabbix

#wget  http://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip

#unzip orabbix-1.2.3.zip

#chmod +x run.sh

#cp init.d/orabbix /etc/init.d/

# vi /etc/init.d/orabbix

#!/bin/sh

# This is the init script for starting up the

# Orabbix daemon

#

# chkconfig: 345 91 10

# description: Starts and stops the orabbix daemon.

# processname: orabbix

#

# Source function library.

. /etc/rc.d/init.d/functions

 

# Get config.

. /etc/sysconfig/network

 

# Check that networking is up.

[ "${NETWORKING}" = "no" ] && exit 0

 

orabbix=/usr/local/orabbix

pidfile=`cat $orabbix/conf/config.props |grep -i pidfile |sed 's/.*PidFile=//'`

startup=$orabbix/run.sh

 

start(){

        echo -n "Starting Orabbix service:"

        cd $orabbix

        $startup

        RETVAL=$?

        echo

        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/orabbix

        return $RETVAL

}

 

stop(){

        echo -n "Stopping Orabbix service:"

        pid=`ps -ef  |grep java |grep orabbix | awk '{ print $2 }'`

        kill `cat $orabbix/logs/orabbix.pid`

        RETVAL=$?

        echo

        [ $RETVAL -eq 0 ] && rm -f  /var/lock/subsys/orabbix

        return $RETVAL

}

 

restart(){

        stop

        start

}

 

status(){

        numproc=`ps -ef | grep java | grep orabbix | grep -v grep  | wc -l`

        if [ "$numproc" -gt 0 ]; then

        echo "Orabbix is running"

        else

        echo "Orabbix is stopped"

        fi

}

 

# See how we were called.

case "$1" in

        start)

                start

                ;;

        stop)

                stop

                ;;

        status)

                status

                ;;

        restart)

                restart

                ;;

        *)

                echo "Usage: $0 {start|stop|status|restart}"

                exit 1

esac

exit $RETVAL

 

#chmod +x /etc/init.d/orabbix

# vi run.sh



# 配置 config.Props

# cp -a config.props.sample config.props

# vi config.props

ZabbixServerList=ZabbixServer1

#ZabbixServerList=ZabbixServer1,ZabbixServer2

ZabbixServer1.Address=192.168.1.208

ZabbixServer1.Port=10051

#ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER

#ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER

 

OrabbixDaemon.PidFile=./logs/orabbix.pid

OrabbixDaemon.Sleep=300

OrabbixDaemon.MaxThreadNumber=100

 

#DatabaseList=DB1,DB2,DB3

DatabaseList=DB1

 

DatabaseList.MaxActive=10

DatabaseList.MaxWait=100

DatabaseList.MaxIdle=1

 

DB1.Url=jdbc:oracle:thin:@192.168.1.81:1521:will1

DB1.User=zabbix

DB1.Password=zabbix

DB1.MaxActive=10

DB1.MaxWait=100

DB1.MaxIdle=1

DB1.QueryListFile=./conf/query.props

 

#DB2.Url=jdbc:oracle:thin:@server2.domain.example.com:<LISTENER_PORT>:DB2

#DB2.User=zabbix

#DB2.Password=zabbix_password

#DB2.QueryListFile=./conf/query.props

 

#DB3.Url=jdbc:oracle:thin:@server3.domain.example.com:<LISTENER_PORT>:DB3

#DB3.User=zabbix

#DB3.Password=zabbix_password

#DB3.QueryListFile=./conf/query.props

 

 

补充:

需要注意的是DatabaseList=CRMDB指的是被监控服务器的名称,该名称要和zabbix server界面中的机器名称保持一致,该配置文件中后续所引用的设定都以该名称为准。

CRMDB.Url=jdbc:oracle:thin:@192.168.0.209:1521:orcl指定的是被监控服务器的连接信息(例如采用jdbc的联接方式,oracle服务器地址是192.168.0.209,oracle的端口是1521,orcl指的是数据库的实例)

 

 

# 启动orabbix

#chkconfig orabbix on

# /etc/init.d/orabbix start

 

 

四、WEB端设置

# zabbix 模板文件路径:

# ls /usr/local/orabbix/template

Orabbix_export_full.xml    Orabbix_export_items.xml

Orabbix_export_graphs.xml  Orabbix_export_triggers.xml

 

# 将 Orabbix_export_full.xml 模板导入WEB端


监控图:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值