我正在按照官方文档在zabbix中尝试数据库监视器 odbc_checks
我安装了unixODBC和unixODBC驱动程序(mysql和oracle)
yum -y install unixODBC unixODBC-devel
yum install mysql-connector-odbc
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
并且ODBC连接对mysql和oracle都成功运行。
shell> isql -v my
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
要启用ODBC支持,我使用ODBC支持重新编译Zabbix
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc
最后添加一个数据库监控项 enter image description here
然而,Mysql监控工作正常,但Oracle没有:
无法连接到ODBC DSN:[SQL_ERROR]:[01000] [0] [[unixODBC] [Driver Manager]无法打开lib' /usr/lib/oracle/11.2/client64/lib /libsqora.so.11.1' :找不到文件] |
此文件存在
ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
linux-vdso.so.1 => (0x00007fffeb1ff000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9d254f0000)
libm.so.6 => /lib64/libm.so.6 (0x00007f9d2526b000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9d2504e000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f9d24e35000)
libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007f9d224c5000)
libodbcinst.so.1 => /usr/lib64/libodbcinst.so.1 (0x00007f9d222b4000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9d21f21000)
/lib64/ld-linux-x86-64.so.2 (0x0000003c67000000)
libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007f9d21b53000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007f9d21952000)
libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007f9d21749000)