orabbix是一个用来监控oracle数据库性能的zabbix插件工具,经过安装在被监控服务器上客户端上收集数据并传给zabbix服务器端,而后经过调用图形显示。具备如下功能:php
Oracle Server: 192.168.88.53:1521:orcl Zabbix Server: 192.168.88.56:10050 Zabbix Agent: 192.168.88.56:10051 Orabbix: 192.168.88.56 jdk 1.8: 192.168.88.56
若是已经安装了java,这步能够跳过。html
下载地址java
http://www.oracle.com/technetwork/java/javase/downloads/index.html
解压安装,这里以jdk-8u152-linux-x64版本为例linux
mkdir -p /usr/local/java tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/local/java
CREATE USER ZABBIX_MONITOR IDENTIFIED BY zabbix456 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; GRANT CONNECT TO ZABBIX_MONITOR; GRANT RESOURCE TO ZABBIX_MONITOR; ALTER USER ZABBIX_MONITOR DEFAULT ROLE ALL; GRANT SELECT ANY TABLE TO ZABBIX_MONITOR; GRANT CREATE SESSION TO ZABBIX_MONITOR; GRANT SELECT ANY DICTIONARY TO ZABBIX_MONITOR; GRANT UNLIMITED TABLESPACE TO ZABBIX_MONITOR; GRANT SELECT ANY DICTIONARY TO ZABBIX_MONITOR;
if you need an User (ZABBIX) for Orabbix with the minimum grants availablesql
GRANT ALTER SESSION TO ZABBIX_MONITOR; GRANT CREATE SESSION TO ZABBIX_MONITOR; GRANT CONNECT TO ZABBIX_MONITOR; ALTER USER ZABBIX_MONITOR DEFAULT ROLE ALL; GRANT SELECT ON V_$INSTANCE TO ZABBIX_MONITOR; GRANT SELECT ON DBA_USERS TO ZABBIX_MONITOR; GRANT SELECT ON V_$LOG_HISTORY TO ZABBIX_MONITOR; GRANT SELECT ON V_$PARAMETER TO ZABBIX_MONITOR; GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO ZABBIX_MONITOR; GRANT SELECT ON V_$LOCK TO ZABBIX_MONITOR; GRANT SELECT ON DBA_REGISTRY TO ZABBIX_MONITOR; GRANT SELECT ON V_$LIBRARYCACHE TO ZABBIX_MONITOR; GRANT SELECT ON V_$SYSSTAT TO ZABBIX_MONITOR; GRANT SELECT ON V_$PARAMETER TO ZABBIX_MONITOR; GRANT SELECT ON V_$LATCH TO ZABBIX_MONITOR; GRANT SELECT ON V_$PGASTAT TO ZABBIX_MONITOR; GRANT SELECT ON V_$SGASTAT TO ZABBIX_MONITOR; GRANT SELECT ON V_$LIBRARYCACHE TO ZABBIX_MONITOR; GRANT SELECT ON V_$PROCESS TO ZABBIX_MONITOR; GRANT SELECT ON DBA_DATA_FILES TO ZABBIX_MONITOR; GRANT SELECT ON DBA_TEMP_FILES TO ZABBIX_MONITOR; GRANT SELECT ON DBA_FREE_SPACE TO ZABBIX_MONITOR; GRANT SELECT ON V_$SYSTEM_EVENT TO ZABBIX_MONITOR;
若是是oracle11g的数据库版本,还须要执行下面的语句开放ACL的访问控制,不然在监控的过程当中有部分内容没法正常显示(例于数据库版本,数据库文件大小等),并且orabbix的日志显示中也会有错误提示。注意若是建立的帐号是小写,如下的ZABBIX_MONITOR须要大写。最好仍是大写吧。数据库
exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description=> 'resolve acl', principal =>'ZABBIX_MONITOR', is_grant => true, privilege => 'resolve'); exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*'); commit;
其实orabbix只须要安装在一台服务器便可,我就选择安装在Zabbix Server上,固然上面的jdk是为orabbix服务的,由于orabbix就是一个oracle客户端去查找oracle中的数据,而后传给zabbix,安装orabbix:bootstrap
下载:vim
mkdir -p /usr/local/orabbix cd /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/ chmod +x /etc/init.d/orabbix sed -i 's#/opt/orabbix#/usr/local/orabbix#g' /etc/init.d/orabbix # 根据实际java路径修改 sed -i 's#java#/usr/local/java/jdk1.8.0_152/bin/java#g' /usr/local/orabbix/run.sh
orabbix全部的配置文件都在conf目录中,须要将默认的配置文件config.props.sample复制一份后再进行修改和配置。oracle
cd /usr/local/orabbix/conf cp config.props.sample config.props vim config.props
如下是修改后和去注释后的配置
ZabbixServerList=ZabbixServer1 ZabbixServer1.Address=192.168.88.56 ZabbixServer1.Port=10051 OrabbixDaemon.PidFile=./logs/orabbix.pid OrabbixDaemon.Sleep=300 OrabbixDaemon.MaxThreadNumber=100 DatabaseList=testora DatabaseList.MaxActive=10 DatabaseList.MaxWait=100 DatabaseList.MaxIdle=1 testora.Url=jdbc:oracle:thin:@192.168.88.53:1521:orcl testora.User=zabbix_monitor testora.Password=zabbix456 testora.MaxActive=10 testora.MaxWait=100 testora.MaxIdle=1 testora.QueryListFile=./conf/query.props
PS:须要注意的是DatabaseList=testora指的是被监控服务器的名称,该名称要和zabbix server界面中的机器名称保持一致,该配置文件中后续所引用的设定都以该名称为准。
testora.Url=jdbc:oracle:thin:@192.168.88.53:1521:orcl指定的是被监控服务器的链接信息(例如采用jdbc的联接方式,服务器地址是192.168.88.53,oracle的端口是1521,orcl指的是数据库的实例名称)
启动orabbix
service orabbix start Starting Orabbix service:
查看启动的orabbix进程
ps aux |grep orabbix root 1259 0.3 0.6 12112256 203324 pts/1 Sl 16:02 0:13 /usr/local/java/jdk1.8.0_152/bin/java -Duser.language=en -Duser.country=US -Dlog4j.configuration=./conf/log4j.properties -cp lib/commons-codec-1.4.jar:lib/commons-dbcp-1.4.jar:lib/commons-lang-2.5.jar:lib/commons-logging-1.1.1.jar:lib/commons-pool-1.5.4.jar:lib/hsqldb.jar:lib/log4j-1.2.15.jar:lib/ojdbc6.jar:.:./orabbix-1.2.3.jar com.smartmarmot.orabbix.bootstrap start ./conf/config.props
导入时应该注意模板里面的host的name属性,group的属性值是否与zabbix已存在的设置有冲突,若是导入失败,多是冲突形成的。把这两个属性改一下名便可。
http://www.smartmarmot.com/wiki/index.php?title=Orabbix
http://blog.csdn.net/mchdba/article/details/51366790