离Zabbix 5.2.2内置的Oracle by ODBC的模版已经发布已有些许时日,一直忙于各种Template的紧张制作与兼容性适配工作中,周末有点时间,写一下关于Oracle by ODBC适配中遇到的一些坑,总结了以下安装与配置方法,亲自试验有效,如果你对我的文章感兴趣,请加入我们的QQ群:Zabbix研究院(QQ群:1107902496)

 

注意,ODBC是在zabbix-server端配置的

目录

第一步:安装ODBC

第二步:安装Oracle Client安装包文件如下:

第三步:配置SQLPLUS连接扩展

第四步:环境变量配置

第五步:配置需要的类库

第六步:添加ORACLE驱动

第七步:添加Oracle数据源

第八步:ISQL测试

第九步:SQLPLUS测试

第十步:Zabbix配置

报错处理:

第一步:安装ODBC

yum -y install unixODBC unixODBC-devel

第二步:安装Oracle Client安装包文件如下:

  1. oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
  2. oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
  3. oracle-instantclient18.5-odbc-18.5.0.0.0-3.x86_64.rpm
  4. oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm
  • 进入安装目录后执行:

yum localinstall oracle-instantclient18.5-*
  • 安装后的位置如下:

  1. /usr/share/oracle/18.5/client64
  2. /usr/include/oracle/18.5/client64
  3. /usr/lib/oracle/18.5/client64
  • 创建admin目录;

mkdir /usr/lib/oracle/18.5/client64/network/admin -p

第三步:配置SQLPLUS连接扩展

vi /usr/lib/oracle/18.5/client64/network/admin/tnsnames.ora

  1. test_oracle=
  2. (DESCRIPTION =
  3. (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = PORT))
  4. (CONNECT_DATA =
  5. (SERVER = DEDICATED)
  6. (SERVICE_NAME = 数据库SID)
  7. )
  8. )

第四步:环境变量配置

vi /etc/profile

  1. export ORACLE_HOME=/usr/lib/oracle/18.5/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/binsource /etc/profile

source /etc/profile

第五步:配置需要的类库

  1. chmod +x /usr/lib/oracle/18.5/client64/lib/libsqora.so.18.1
  2. cd /usr/lib64/
  3. ln -s libodbcinst.so.2.0.0 libodbcinst.so.1

第六步:添加ORACLE驱动

  1. # vim /etc/odbcinst.ini
  2. [oracle]
  3. Description = Oracle ODBC driver for Oracle 11g
  4. Driver = /usr/lib/oracle/18.5/client64/lib/libsqora.so.18.1

第七步:添加Oracle数据源

  1. # vim /etc/odbc.ini
  2. [test]
  3. Driver= oracle
  4. ServerName= ip:port/TESTDB
  5. UserID= 用户名
  6. Password= 密码

第八步:ISQL测试

  1. isql -v test
  2. 检测是否可连接及中间如遇到报错的错误信息
  3. isql test
  4. +---------------------------------------+
  5. | Connected! |
  6. | |
  7. | sql-statement |
  8. | help [tablename] |
  9. | quit |
  10. | |
  11. +---------------------------------------+

第九步:SQLPLUS测试

  1. # sqlplus 用户名/密码@tnsnames.ora中配置的连接名称
  2. SQL*Plus: Release 11.2.0.3.0 Production on Wed Jul 19 11:39:18 2017
  3. Copyright (c) 1982, 2011, Oracle. All rights reserved.
  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  7. SQL> exit

第十步:Zabbix配置

  • 配置宏值如图:

报错处理:

以nologin用户启动的监控系统,配置上监控项之后,报错

解决方案:

尝试1:

  1. echo "/usr/lib/oracle/18.5/client64/lib" | sudo tee/etc/ld.so.conf.d/oracle-client-18.5.conf
  2. sudo ldconfig
  3. sudu ldconfig -v

尝试2:如果尝试1执行后页面依然提示“......file not found”,可以试试下面的操作,操作完记得重启zabbix server服务。

  1. 需要查找zabbix服务的环境变量文件 没有则新建 默认情况在 /etc/sysconfig 下 server 新建zabbix-server proxy新建zabbix-proxy
  2. ORACLE_HOME=/usr/lib/oracle/18.5/client64
  3. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
  4. TNS_ADMIN=$ORACLE_HOME/network/admin
  5. PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
  6. export ORACLE_HOME
  7. export LD_LIBRARY_PATH
  8. export TNS_ADMIN
  9. export PATH

发表评论

邮箱地址不会被公开。 必填项已用*标注