1、1. Orabbix插件的安装与配置 1.1 Orabbix介绍 Orabbix 是一个用来监控 Oracle 数据库实例的 Zabbix 插件。 1.2 Orabbix插件的下载 也可以直接搜索下载,目前最新版本为1.2.3 1.3 Orabbix插件的安装与配置 1) 先通过yum来安装JAVA:yum install java; 2) 在/opt目录下新建一个orabbix目录:/opt/orabbix 3) 将下载好的Orabbix插件解压后上传至Zabbix Server的/opt/or
2、abbix目录: 4) 上传完成后,给orabbix目录中的所有文件设定权限:[root@zabbix opt]# chmod -R a+x orabbix/ 5) 通过/opt/orabbix/conf/config.props.sample文件创建一个config.props文件: [root@zabbix opt]#cp/opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props 7) 将orabbix中的执行文件Copy到系统服务目录中: [root@zabbix ~]# cp /
3、opt/orabbix/init.d/orabbix/etc/init.d/orabbix 6) 编辑前面创建的orabbix配置文件config.props,把不需要的行用“#”号来注释掉: [root@zabbix conf]#vi config.props #comma separed list of Zabbix servers ZabbixServerList=ZabbixServer1 注:以上等号后的名字必须与下行中等号前名字保持一样。 ZabbixServer1.Address=192.168.1.50 ZabbixServer1.Port=1005
4、1 注:以上端口号为与Zabbix Server通讯的端口,我这里是将Orabbix与Zabbix装在同一台机器上的,如果不在同一台机器,那装Orabbix的机器需要先装Zabbix Agent,否则数据将无法传送到Zabbix Server。 #ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER #ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER 注:以上本来行首是没有#号的,但我们这里没有第二个Zabbix Server,所以这里将它注销了。 #pidFile OrabbixDaemon.PidFi
5、le=./logs/orabbix.pid #frequency of item's refresh OrabbixDaemon.Sleep=300 #MaxThreadNumber should be >= than the number of your databases OrabbixDaemon.MaxThreadNumber=100 #put here your databases in a comma separated list DatabaseList=ASM-ORCL 注: 1. 以上等号后的名字可以自己任意取名,但在Zabbix中添加O
6、racle Host时,必须用你在此设定的名字,否则无法监测。 2. 以上等号后面的值修改后,在下面的数据库连接定义=处,也需要修改相应的名字; 3. 这里建议使用Server Name-DBSID的方式来命名。 #Configuration of Connection pool #if not specified Orabbis is going to use default values (hardcoded) #Maximum number of active connection inside pool DatabaseList.MaxAct
7、ive=10 #The maximum number of milliseconds that the pool will wait #(when there are no available connections) for a connection to be returned #before throwing an exception, or <= 0 to wait indefinitely. DatabaseList.MaxWait=100 DatabaseList.MaxIdle=1 #define here your connection string
8、for each database ASM-ORCL.Url=jdbc:oracle:thin:@192.168.153.123:1521:ORCL 注: 1. 以上行开始的那个值,需要与之前DatabaseList后面的值保持一样。 2. 192.168.153.123为Oracle服务器的地址,1521为TNS Port,ORCL为DB SID。 ASM-ORCL.User=zabbix ASM-ORCL.Password=orabbix 注:以上为访问数据库的用户名和密码,是在oracle数据库中单独为orabbix新建的一个帐号,可以参考官方的文
9、档,地址如下: 在oracle中添加账号sql命令如下: CREATE USER ZABBIX IDENTIFIED BY orabbix //用户密码 DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; GRANT CONNECT TO ZABBIX; GRANT RESOURCE TO ZABBIX; ALTER USER ZABBIX DE
10、FAULT ROLE ALL; GRANT SELECT ANY TABLE TO ZABBIX; GRANT CREATE SESSION TO ZABBIX; GRANT SELECT ANY DICTIONARY TO ZABBIX; GRANT UNLIMITED TABLESPACE TO ZABBIX; GRANT SELECT ANY DICTIONARY TO ZABBIX;。 如果使用的是Oracle 11g,所以还需要添加以下命令: exec dbms_network_acl_admin.c
11、reate_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; #Those values are optionals if not specified Orabbix is going to use thege
12、neral values.
ASM-ORCL.MaxActive=10
ASM-ORCL.MaxWait=100
ASM-ORCL.MaxIdle=1
ASM-ORCL.QueryListFile=./conf/query.props
#DB2.Url=jdbc:oracle:thin:@: 13、ENER_PORT>:DB3
#DB3.User=zabbix
#DB3.Password=zabbix_password
#DB3.QueryListFile=./conf/query.props
9) 保存以上配置后,使用/etc/init.d/orabbix start来启动Orabbix服务
注意:如果以上的config.props文件没有配置,或是配置了,但无法通过配置的信息正确连进Oracle数据库的话,执行以上命令,可是run.sh会出现如下的错误提示:
[root@zabbix orabbix]# /etc/init.d/orabbix start
cat: 14、 /opt/orabbix/conf/config.props: No such file ordirectory
Starting Orabbix service:
[root@zabbix orabbix]# Stopping
java.lang.Exception: ERROR on main - Connections is empty
atcom.smartmarmot.orabbix.Orabbixmon.run(Orabbixmon.java:101)
atcom.smartmarmot.orabbix.bootstrap.main(bo 15、otstrap.java:50)
[root@zabbix orabbix]# ./run.sh
[root@zabbix orabbix]# Stopping
java.lang.Exception: ERROR on main - Connections is empty
atcom.smartmarmot.orabbix.Orabbixmon.run(Orabbixmon.java:101)
at com.smartmarmot.orabbix.bootstrap.main(bootstrap.java:50)。
10) 将Orabbix服 16、务加入随系统启动:
chkconfig --add orabbix
chkconfig --level 345orabbix on
11) OK,按以上的步骤,这样的话,Orabbix服务器端就配置完成啦~~现在去zabbix的WEB页面去导入ORACLE的监测模板吧,在orabbix目录的template内,只要在configuration>>Templates>>Import Template,然后选中orabbix/template/Orabbix_export_full.xml就OK啦~~
12) 在configuration>>Hosts中添加Oracle主机吧!记得Name要等于你在config.props中设的名字哦,另外,要将此机器加入到Template Oracle中,这样就OK啦~~如下图:






