• Zabbix6.2配置ODBC监控oracle数据库


    写在安装前

    zabbix6.2自带的oracle监控模板仅仅支持被动模式的zabbix

    1. 安装ODBC

    yum -y install unixODBC unixODBC-devel

    2. 安装Oracle-instantclient

    1. #以下所有操作使用root账号执行
    2. #创建目录
    3. mkdir -p /opt/oracle
    4. cd /opt/oracle
    5. #下载odbc安装包
    6. wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm
    7. wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm
    8. wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm
    9. wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm
    10. #安装unixODBC和unixODBC-devel
    11. yum -y install unixODBC unixODBC-devel
    12. #安装oracle-instantclient
    13. yum localinstall oracle-instantclient-*
    14. #oracle-instantclient的安装位置如下
    15. /usr/lib/oracle/21/client64
    16. /usr/share/oracle/21/client64
    17. /usr/include/oracle/21/client64

    3. 配置SQLPlus连接  完颜振江
    直接通过下面的命令安装 oracle-instantclient创建 network/admin 文件夹

    1. mkdir /usr/lib/oracle/21/client64/network/admin/ -p
    2. cd /usr/lib/oracle/21/client64/network/admin/
    3. vim tnsnames.ora
    4. HOST写oracle数据库服务器IP地址,
    5. SERVICE_NAME写global_name
    6. sqlplus / as sysdba
    7. select global_name from global_name;

    1. ORCL =
    2. (DESCRIPTION =
    3. (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.61.105)(PORT = 1521))
    4. (CONNECT_DATA =
    5. (SERVER = DEDICATED)
    6. (SERVICE_NAME = ORCL)
    7. )
    8. )

    1. [root@BASE-oracle oracle]# sqlplus NCC10/XXXX@ORCL
    2. SQL*Plus: Release 21.0.0.0.0 - Production on Tue Sep 6 17:55:26 2022
    3. Version 21.3.0.0.0
    4. Copyright (c) 1982, 2021, Oracle. All rights reserved.
    5. Last Successful login time: Tue Sep 06 2022 17:54:17 +08:00
    6. Connected to:
    7. Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    8. Version 19.12.0.0.0
    9. SQL>

    每次重启虚拟机都要重新配置监听

    1. su - oracle #切换到oracle用户,配置监听
    2. export DISPLAY=IP:0.0 #IP为本机地址,export DISPLAY=本机地址:0.0
    3. netca -silent -responseFile /opt/oracle/database/response/netca.rsp
    4. sqlplus / as sysdba
    5. startup
    6. lsnrctl start

    环境变量配置

    1. export ORACLE_HOME=/usr/lib/oracle/21/client64
    2. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
    3. export TNS_ADMIN=$ORACLE_HOME/network/admin
    4. export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
    5. export ORACLE_SID=ORCL
    6. #保存后适用新的环境变量
    7. source /etc/profile
    8. #配置类库
    9. chmod +x /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
    10. cd /usr/lib64
    11. ln -s libodbcinst.so.2.0.0 libodbcinst.so.1

    添加Oracle驱动

    1. [root@zabbix ~]# cat /etc/odbcinst.ini
    2. [Oracle]
    3. Description = ODBC for Oracle
    4. Driver = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1

    添加Oracle数据源

    1. [root@BASE-oracle oracle]# cat /etc/odbc.ini
    2. [NCCTESTDB] ###DSN名字,这个很关键
    3. Driver = Oracle
    4. ServerName = 172.16.61.105:1521/ORCL
    5. UserID = NCC10
    6. Password = xxxxx

    ISQL测试

    1. [root@BASE-oracle oracle]# isql -v NCCTESTDB
    2. +---------------------------------------+
    3. | Connected! |
    4. | |
    5. | sql-statement |
    6. | help [tablename] |
    7. | quit |
    8. | |
    9. +---------------------------------------+
    10. SQL>

     #如下这个是在oracle服务上执行的

    1. 创建用于监控的专用账号zabbix
    2. CREATE USER ZABBIX IDENTIFIED BY zabbix DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
    3. GRANT CONNECT TO ZABBIX;
    4. GRANT RESOURCE TO ZABBIX;
    5. ALTER USER ZABBIX DEFAULT ROLE ALL;
    6. GRANT SELECT ANY TABLE TO ZABBIX;
    7. GRANT CREATE SESSION TO ZABBIX;
    8. GRANT SELECT ANY DICTIONARY TO ZABBIX;
    9. GRANT UNLIMITED TABLESPACE TO ZABBIX;
    10. GRANT SELECT ANY DICTIONARY TO ZABBIX;

    4. ZabbixServer主机配置

    4.1 Interfaces选择客户端,IP地址选择客户端刚才我们配置的那个Agent的IP地址

    模板选择Oracle by ODBC

    4.3 宏配置中添加

    {$ORACLE.DSN} 

    {$ORACLE.USER} 

    {$ORACLE.PASSWORD}

    {$ORACLE.PORT}

    三项即可

     5. 监控效果

  • 相关阅读:
    Git存在冲突与解决方式
    Apache DolphinScheduler 入门(一篇就够了)
    Flutter基础学习(一)Dart语言入门
    【微服务】Day03
    [附源码]计算机毕业设计医院门诊管理信息系统Springboot程序
    深度卷积神经网络是什么,卷积神经网络结构设计
    Day19—Scrapy框架高级特性
    《你好,放大器》----学习记录(六)
    JSD-2204-查询管理员列表-删除管理员-Day15
    kubernetes数据库etcd的简单操作及备份恢复
  • 原文地址:https://blog.csdn.net/ethnicitybeta/article/details/126729825