环境:

centos7

vmware虚拟机

IP:192.168.213.130

已安装好zabbix3.0(红色加粗提醒!是3.0!!!4.0和orabbix1.2.3不兼容)和Oracle数据库。(安装可参照我之前文档)

Orabbix可安装在zabbix server端,也可以安装在zabbix agent端,为了数据库服务器的独立性,这里选择安装则zabbix server端。

Orabbix下载地址 http://www.smartmarmot.com/product/orabbix/download/


1确认java jdk是否已安装,因为Orabbix基于java

[root@oracle ~]# java -version


如果没有安装则通过yum来安装

[root@oracle ~]# yum install java



2.在/opt目录下新建一个orabbix目录

[root@oracle ~]# mkdir -p /opt/orabbix


放在/opt目录下,因为orabbix的启动文件默认写在/opt/orabbix目录下


3.上传orabbix的压缩包到服务器

image.png


4.解压压缩包

[root@oracle orabbix]# unzip orabbix-1.2.3.zip

Zabbix通过Orabbix监控Oracle数据库_第1张图片


5.赋予orabbix目录权限

[root@oracle orabbix]# chmod -R a+x /opt/orabbix/



6.将默认的配置文件复制一份作为正式配置文件

[root@oracle orabbix]# cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props


7.编辑配置文件

[root@oracle orabbix]# vim /opt/orabbix/conf/config.props

Zabbix通过Orabbix监控Oracle数据库_第2张图片

这里需要特别注意的是,zabbix服务器的Address、Port等和数据库Url、User等参数的属性,都要与ZabbixServerList和DatabaseList中所填写的一致

DatabaseList中,建议填写的是:主机名-数据库实例名

同时,后面在zabbix中添加host时,host的名字需要与DatabaseList中所填写的一致


8.创建执行文件

[root@oracle orabbix]# cp /opt/orabbix/init.d/orabbix /etc/init.d/orabbix


9.在数据库中创建监控用户(在被监控端执行)

如果没启动数据库则执行以下命令,如果启动了则跳过:

su oracle
lsnrctl start
sqlplus / as sysdba
startup


使用管理员进入到数据库:

[root@oracle orabbix]# sqlplus / as sysdba
SQL>


创建用户:

CREATE USER zabbix IDENTIFIED BY 123456 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;


如果数据库版本是11g,那么还需要执行下面的语句来开放ACL的访问控制,否则在监控过程中会有部分内容无法显示,而且orabbix的日志也会有错误提示



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;


Zabbix通过Orabbix监控Oracle数据库_第3张图片


10.回到zabbix server端,开启相关服务

[root@oracle orabbix]# systemctl restart zabbix-server.service 
[root@oracle orabbix]# systemctl restart zabbix-agent.service 
[root@oracle orabbix]# /etc/init.d/orabbix start


Zabbix通过Orabbix监控Oracle数据库_第4张图片


11.查看zabbix server和orabbix的日志,如果没有报错则说明启动成功

[root@oracle orabbix]# tail -f /opt/orabbix/logs/orabbix.log

Zabbix通过Orabbix监控Oracle数据库_第5张图片

这里没有报错,启动正常。


12.在web端中导入相关模板

模板文件都在/opt/orabbix/template目录下

Zabbix通过Orabbix监控Oracle数据库_第6张图片

这里只导入Orabbix_export_full.xml文件

将该文件下载到本地

然后进入zabbix web端

Zabbix通过Orabbix监控Oracle数据库_第7张图片

然后在host中添加模板:

Zabbix通过Orabbix监控Oracle数据库_第8张图片

这里的主机名必须和orabbix配置文件中的oracle服务器名称相同。

image.png

Zabbix通过Orabbix监控Oracle数据库_第9张图片

之后在图形中就能看到数据了

Zabbix通过Orabbix监控Oracle数据库_第10张图片