美文网首页Oracle数据库
zabbix通过orabbix监控Oracle数据库

zabbix通过orabbix监控Oracle数据库

作者: Al_不期而遇 | 来源:发表于2018-12-19 17:16 被阅读17次

    这里使用的是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数据库

        本文链接:https://www.haomeiwen.com/subject/ztgjkqtx.html