zabbix通过orabbix监控Oracle数据库

这里使用的是orabbix 

下载地址https://sourceforge.net/projects/orabbix/files/orabbix-1.2.3.zip/download

mkdir  /opt/orabbix

cd /opt/orabbix

chmod a+x /opt/orabbix -R 

将按照包上传到当前目录下、因为数据是默认调用这个地方的脚本

unzip orabbix-src-1.2.3.zip

这个是文件的目录树,我们需要修改的文件是在conf下。然后重名文件名


cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props

编辑配置文件

我们这里可以在本地的hosts文件中添加下


第一处修改是指你的zabbix主机的名字

第二处我们修改我们的zabbix server的IP

第三处我们修改我们的zabbix port端口 10051 

第四处我们修改成我们Oracle主机的名字、记住这里如果有中划线(-)可能无法识别,请去掉。

第五处我们修改前面需要加上我们设置的DatabaseList的主机名,后面是ip:端口/表名

第六处我们修改修改我们的用户名,这个zabbix待会我们要在数据库中创建

第七处我们修改我们zabbix的密码

第八处这里我们只要修改成前面的主机名就可以了。

目前我们修改完配置文件。

后面我们给zabbix授权

CREATE USER ZABBIX IDENTIFIED BY zabbix DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;

GRANT CONNECT TO ZABBIX;

GRANT RESOURCE TO ZABBIX;

ALTER USER ZABBIX DEFAULT 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;

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;

这样我们就做完了授权。

然后启动orabbix服务

cp -a /opt/orabbix/init.d/orabbix /etc/init.d/orabbix

chmod 755 /etc/init.d/orabbix

/etc/init.d/orabbix start


添加主机、这里的主机名要与配置文件中主机名一致


添加监控模板


查看监控状况


检查是否图形化正常

在安装调试过程遇见的错

1、

遇见这个报错、需要我们在config.props中将datebaseList的主机名中的中划线去掉。

或者检查本地的java版本是否正常。

2、

遇见这个报错、需要我们在配置DB.Url的时候写上port、IP:Port

3、

遇见这个报错、请检查我们我们刚刚授权的表是否为orcl。

检查方法:sqlplus "/as sysdba"

select username,password from dba_users;

请检查是否有刚刚授权的zabbix用户、如果没有请检查当前使用的容器

selectsys_context ('USERENV','CON_NAME')fromdual;

4、

解决方法:

1、查看Oracle 12C的版本

select * from v$version;

2、我们可以通过ALTER SESSION SET CONTAINER 指定其他容器

select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

3、将Pdb open

alter pluggable database pdborcl open;

4、查看容器

select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

5、切换容器到pdb

alter session set container=PDBORCL;

6、查看当前使用容器

select sys_context ('USERENV', 'CON_NAME') from dual;

这个时候在进行用户的创建。


仅供参考

你可能感兴趣的:(zabbix通过orabbix监控Oracle数据库)