Zabbix如何通过ODBC对接Oracle获取相关数据_zabbix odbc can‘t open lib ‘<put path to oracle dr

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

  1. 驱动程序:ODBC驱动程序允许那些支持ODBC的程序通过ODBC数据源获取信息。如果安装新的驱动程序,要使用其安装程序。
  2. 跟踪:ODBC跟踪允许创建调用ODBC驱动程序的日志,以供技术人员查看;也可以辅助调试应用程序。Visual Studio跟踪启动Microsoft Visual Studio的ODBC跟踪。
  3. 连接池:连接池允许应用程序重新打开连接句柄,此操作将往返过程存入服务器。
    以上是ODBC数据源管理器的主要功能,用户也可以通过ODBC数据源管理器删除原有的DNS,或者对以前配置的数据源进行修改,操作起来也很简单快捷。今天介绍的是Zabbix如何通过ODBC对接Oracle获取相关数据。
    Zabbix官方文档请点击查看。
    2. 安装Oracle-instantclient

Instant Client Downloads for Linux x86-64 (64-bit)下载地址。
我这边的Oracle数据库环境是Oracle11GR2 v11.2.0.4;首先去Oracle的官方网站下载最新的Oracle客户端。并在Zabbix主机上进行安装:

# 我们先把需要用到的四个rpm离线包下载到本地
mkdir -p oracle
cd oracle

wget https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-basic-19.9.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-sqlplus-19.9.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-devel-19.9.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/199000/oracle-instantclient19.9-odbc-19.9.0.0.0-1.x86_64.rpm
    
# 在安装客户端之前我们还需要在zabbix上安装unixODBC和unixODBC-devel(这两个包我们直接在线安装即可)
yum -y install unixODBC unixODBC-devel

# 安装完成之后我们直接通过下面的命令安装 oracle-instantclient
yum localinstall oracle-instantclient19.9-*

# oracle-instantclient的安装位置如下
/usr/lib/oracle/19.9/client64
/usr/share/oracle/19.9/client64
/usr/include/oracle/19.9/client64

3. 配置SQLPlus连接

在设置环境变量之前,需要在/usr/lib/oracle/19.9/client64下创建 network/admin 文件夹,用来配置 tnsnames.ora :

# 创建 network/admin 文件夹
mkdir /usr/lib/oracle/19.9/client64/network/admin -p

# 配置 tnsnames.ora 文件
Oracle=
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.200.110)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = 数据库SID)
     )
   )

注:这里也可以去创建 listener.ora和sqlnet.ora 配置文件。创建 sqlnet.ora 作用是配置解析顺序, name/password@xxxxx xxxx会先去tnsnames寻找这个名字,没有的话会解析为IP NAME_DIRECTORY_PATH=(TNSNAMES,EZCONNECT) 。感兴趣的小伙伴可以自定测试,这里不再演示。

还需要配置环境变量。环境变量必须配置,否则会造成 [01000] unixODBCCan’t open lib ‘/usr/lib64/lxxxxx.so’ : file not found (执行一次即可)

export ORACLE_HOME=/usr/lib/oracle/19.9/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

配置需要的类库

chmod +x /usr/lib/oracle/19.9/client64/lib/libsqora.so.19.1
cd /usr/lib64/
ln -s libodbcinst.so.2.0.0 libodbcinst.so.1

添加Oracle驱动

# Example driver definitions
# vi /etc/odbcinst.ini
[Oracle]
Description     = Oracle ODBC driver for Oracle 11g
Driver          = /usr/lib/oracle/19.9/client64/lib/libsqora.so.19.1

添加Oracle数据源

# vi /etc/odbc.ini
# 配置示例
[DSN名称]                               将在zabbix item key中使用
Driver = oracle                         tnsnames.ini 配置的驱动名称
ServerName = ip:port/sid               ip:port/sid
UserID = 用户名                         用户名
Password = 密码                         密码

# 具体配置
[Oracle]
Driver = Oracle
ServerName = 172.16.200.241:1521/数据库SID
UserID = XXX
Password = XXX

ISQL测试

isql -v Oracle
# 检测是否可连接及中间如遇到报错的错误信息(这里的Oracle要和DSN名称一致)
[root@ZabbixServer]# isql -v Oracle
+---------------------------------------+
| Connected!                           |
|                                       |
| sql-statement                         |
| help [tablename]                     |
| quit                                 |
|                                       |
+---------------------------------------+
SQL>

SQLPlus测试连接

# sqlplus 用户名/密码@tnsnames.ora中配置的连接名称
[root@ZabbixServer ~]# sqlplus 用户名/用户密码@DSN名称


![img](https://img-blog.csdnimg.cn/img_convert/86a188d4caaf437d08a1e8ccee28c882.png)
![img](https://img-blog.csdnimg.cn/img_convert/30a472c1aa799c7650757a134d83eaf6.png)
![img](https://img-blog.csdnimg.cn/img_convert/b77b5a956988cebad8872070e5fb42e7.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值