zabbix ODBC 数据库监控
ODBC 是 C 语言开发的、用于访问数据库的中间件接口.zabbix 支持查询任何 ODBC 支持的数据库.zabbix 经过调用 ODBC 来获取数据库的数据以及数据库状态等等信息

一、安装unixODBC

官方主页:http://www.unixodbc.org/download.html

使用阿里巴巴提供的开源镜像站:https://opsx.alibaba.com/?lang=zh-CNapi

[root@zabbix-server ~]# wget https://rpmfind.net/linux/centos-stream/9-stream/CRB/x86_64/os/Packages/unixODBC-devel-2.3.9-4.el9.x86_64.rpm
--2022-12-09 15:06:45--  https://rpmfind.net/linux/centos-stream/9-stream/CRB/x86_64/os/Packages/unixODBC-devel-2.3.9-4.el9.x86_64.rpm
正在解析主机 rpmfind.net (rpmfind.net)... 195.220.108.108
正在连接 rpmfind.net (rpmfind.net)|195.220.108.108|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:54942 (54K) [application/x-rpm]
正在保存至: “unixODBC-devel-2.3.9-4.el9.x86_64.rpm”

unixODBC-devel-2.3.9-4.el9.x 100%[=============================================>]  53.65K   100KB/s  用时 0.5s

2022-12-09 15:06:47 (100 KB/s) - 已保存 “unixODBC-devel-2.3.9-4.el9.x86_64.rpm” [54942/54942])

[root@zabbix-server ~]# wget https://rpmfind.net/linux/centos-stream/9-stream/AppStream/x86_64/os/Packages/unixODBC-2.3.9-4.el9.x86_64.rpm
--2022-12-09 15:07:13--  https://rpmfind.net/linux/centos-stream/9-stream/AppStream/x86_64/os/Packages/unixODBC-2.3.9-4.el9.x86_64.rpm
正在解析主机 rpmfind.net (rpmfind.net)... 195.220.108.108
正在连接 rpmfind.net (rpmfind.net)|195.220.108.108|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:503092 (491K) [application/x-rpm]
正在保存至: “unixODBC-2.3.9-4.el9.x86_64.rpm”

unixODBC-2.3.9-4.el9.x86_64. 100%[=============================================>] 491.30K   153KB/s  用时 3.2s

2022-12-09 15:07:18 (153 KB/s) - 已保存 “unixODBC-2.3.9-4.el9.x86_64.rpm” [503092/503092])

[root@zabbix-server ~]# ll
总用量 2556
-rw-------. 1 root root     819 126 10:24 anaconda-ks.cfg
drwxr-xr-x  3 root root      17 128 12:21 go
-rw-r--r--  1 root root  503092  813  2021 unixODBC-2.3.9-4.el9.x86_64.rpm
-rw-r--r--  1 root root   54942  813  2021 unixODBC-devel-2.3.9-4.el9.x86_64.rpm
[root@zabbix-server ~]# yum -y install unixODBC-2.3.9-4.el9.x86_64.rpm
上次元数据过期检查:2:34:00 前,执行于 2022年12月09日 星期五 12时34分12秒。
依赖关系解决。
===================================================================================================================
 软件包                   架构                   版本                           仓库                          大小
===================================================================================================================
安装:
 unixODBC                 x86_64                 2.3.9-4.el9                    @commandline                 491 k

事务概要
===================================================================================================================
安装  1 软件包

总计:491 k
安装大小:1.4 M
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                    1/1
  安装    : unixODBC-2.3.9-4.el9.x86_64                                                                        1/1
  运行脚本: unixODBC-2.3.9-4.el9.x86_64                                                                        1/1
  验证    : unixODBC-2.3.9-4.el9.x86_64                                                                        1/1

已安装:
  unixODBC-2.3.9-4.el9.x86_64

完毕!

[root@zabbix-server ~]# yum -y install unixODBC-devel-2.3.9-4.el9.x86_64.rpm
上次元数据过期检查:2:34:28 前,执行于 2022年12月09日 星期五 12时34分12秒。
依赖关系解决。
===================================================================================================================
 软件包                        架构                  版本                        仓库                         大小
===================================================================================================================
安装:
 unixODBC-devel                x86_64                2.3.9-4.el9                 @commandline                 54 k

事务概要
===================================================================================================================
安装  1 软件包

总计:54 k
安装大小:208 k
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                    1/1
  安装    : unixODBC-devel-2.3.9-4.el9.x86_64                                                                  1/1
  运行脚本: unixODBC-devel-2.3.9-4.el9.x86_64                                                                  1/1
  验证    : unixODBC-devel-2.3.9-4.el9.x86_64                                                                  1/1

已安装:
  unixODBC-devel-2.3.9-4.el9.x86_64

完毕!

二、安装Oracle-instantclient

[root@zabbix-server ~]# mkdir -p /opt/oracle
[root@zabbix-server ~]# cd /opt/oracle/
[root@zabbix-server oracle]# wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm
--2022-12-09 15:13:59--  https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm
正在解析主机 download.oracle.com (download.oracle.com)... 104.97.44.84
正在连接 download.oracle.com (download.oracle.com)|104.97.44.84|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:56417260 (54M) [application/x-redhat-package-manager]
正在保存至: “oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm”

oracle-instantclient-basic-2 100%[=============================================>]  53.80M  2.97MB/s  用时 17s

2022-12-09 15:14:17 (3.16 MB/s) - 已保存 “oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm” [56417260/56417260])

--2022-12-09 15:14:17--  https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm
正在解析主机 download.oracle.com (download.oracle.com)... 104.97.44.84
正在连接 download.oracle.com (download.oracle.com)|104.97.44.84|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:721792 (705K) [application/x-redhat-package-manager]
正在保存至: “oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm”

oracle-instantclient-sqlplus 100%[=============================================>] 704.88K   161KB/s  用时 4.4s

2022-12-09 15:14:23 (161 KB/s) - 已保存 “oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm” [721792/721792])

--2022-12-09 15:14:23--  https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm
正在解析主机 download.oracle.com (download.oracle.com)... 104.97.44.84
正在连接 download.oracle.com (download.oracle.com)|104.97.44.84|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:669192 (654K) [application/x-redhat-package-manager]
正在保存至: “oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm”

oracle-instantclient-devel-2 100%[=============================================>] 653.51K   435KB/s  用时 1.5s

2022-12-09 15:14:25 (435 KB/s) - 已保存 “oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm” [669192/669192])

--2022-12-09 15:14:25--  https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm
正在解析主机 download.oracle.com (download.oracle.com)... 104.97.44.84
正在连接 download.oracle.com (download.oracle.com)|104.97.44.84|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:247684 (242K) [application/x-redhat-package-manager]
正在保存至: “oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm”

oracle-instantclient-odbc-21 100%[=============================================>] 241.88K   207KB/s  用时 1.2s

2022-12-09 15:14:28 (207 KB/s) - 已保存 “oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm” [247684/247684])

[root@zabbix-server oracle]# ll
总用量 56704
-rw-r--r-- 1 root root 56417260  810  2021 oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm
-rw-r--r-- 1 root root   669192  810  2021 oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm
-rw-r--r-- 1 root root   247684  810  2021 oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm
-rw-r--r-- 1 root root   721792  810  2021 oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm

安装oracle-instantclient

[root@zabbix-server oracle]# yum localinstall oracle-instantclient-*
上次元数据过期检查:2:42:58 前,执行于 2022年12月09日 星期五 12时34分12秒。
依赖关系解决。
===================================================================================================================
 软件包                                  架构              版本                      仓库                     大小
===================================================================================================================
安装:
 oracle-instantclient-basic              x86_64            21.3.0.0.0-1              @commandline             54 M
 oracle-instantclient-devel              x86_64            21.3.0.0.0-1              @commandline            654 k
 oracle-instantclient-odbc               x86_64            21.3.0.0.0-1              @commandline            242 k
 oracle-instantclient-sqlplus            x86_64            21.3.0.0.0-1              @commandline            705 k

事务概要
===================================================================================================================
安装  4 软件包

总计:55 M
安装大小:244 M
确定吗?[y/N]: y
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                    1/1
  安装    : oracle-instantclient-basic-21.3.0.0.0-1.x86_64                                                     1/4
  运行脚本: oracle-instantclient-basic-21.3.0.0.0-1.x86_64                                                     1/4
  安装    : oracle-instantclient-devel-21.3.0.0.0-1.x86_64                                                     2/4
  安装    : oracle-instantclient-odbc-21.3.0.0.0-1.x86_64                                                      3/4
  安装    : oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64                                                   4/4
  运行脚本: oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64                                                   4/4
  验证    : oracle-instantclient-basic-21.3.0.0.0-1.x86_64                                                     1/4
  验证    : oracle-instantclient-devel-21.3.0.0.0-1.x86_64                                                     2/4
  验证    : oracle-instantclient-odbc-21.3.0.0.0-1.x86_64                                                      3/4
  验证    : oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64                                                   4/4

已安装:
  oracle-instantclient-basic-21.3.0.0.0-1.x86_64          oracle-instantclient-devel-21.3.0.0.0-1.x86_64
  oracle-instantclient-odbc-21.3.0.0.0-1.x86_64           oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64

完毕!

oracle-instantclient的安装位置如下

/usr/lib/oracle/21/client64
/usr/share/oracle/21/client64
/usr/include/oracle/21/client64

[root@zabbix-server oracle]# ll /usr/lib/oracle/21/client64/
总用量 4
drwxr-xr-x 2 root root   74 129 15:17 bin
drwxr-xr-x 3 root root 4096 129 15:17 lib
[root@zabbix-server oracle]# ll /usr/share/oracle/21/client64/
总用量 0
drwxr-xr-x 2 root root  27 129 15:17 admin
drwxr-xr-x 2 root root 192 129 15:17 demo
drwxr-xr-x 2 root root 168 129 15:17 doc
[root@zabbix-server oracle]# ll /usr/include/oracle/21/client64/
总用量 2044
-rw-r--r-- 1 root root 118740  727  2021 jzndom.h
-rw-r--r-- 1 root root  19577  727  2021 jznerr.h
-rw-r--r-- 1 root root  68907  727  2021 jznev.h
-rw-r--r-- 1 root root    584  727  2021 jznotn.h
-rw-r--r-- 1 root root  17951  727  2021 jzntypes.h
-rw-r--r-- 1 root root  43577  727  2021 ldap.h
-rw-r--r-- 1 root root  40071  727  2021 nzerror.h
-rw-r--r-- 1 root root  82507  727  2021 nzt.h
-rw-r--r-- 1 root root  11649  727  2021 occiAQ.h
-rw-r--r-- 1 root root  35604  727  2021 occiCommon.h
-rw-r--r-- 1 root root  72752  727  2021 occiControl.h
-rw-r--r-- 1 root root  40153  727  2021 occiData.h
-rw-r--r-- 1 root root   2115  727  2021 occi.h
-rw-r--r-- 1 root root  24778  727  2021 occiObjects.h
-rw-r--r-- 1 root root   7203  727  2021 oci1.h
-rw-r--r-- 1 root root  10361  727  2021 oci8dp.h
-rw-r--r-- 1 root root 469360  727  2021 ociap.h
-rw-r--r-- 1 root root   6204  727  2021 ociapr.h
-rw-r--r-- 1 root root  43001  727  2021 ocidef.h
-rw-r--r-- 1 root root   4048  727  2021 ocidem.h
-rw-r--r-- 1 root root  11913  727  2021 ocidfn.h
-rw-r--r-- 1 root root   8953  727  2021 ociextp.h
-rw-r--r-- 1 root root 231384  727  2021 oci.h
-rw-r--r-- 1 root root  25022  727  2021 ocijson.h
-rw-r--r-- 1 root root   6494  727  2021 ocikpr.h
-rw-r--r-- 1 root root    509  727  2021 ociver.h
-rw-r--r-- 1 root root   8138  727  2021 ocixmldb.h
-rw-r--r-- 1 root root 111837  727  2021 ocixstream.h
-rw-r--r-- 1 root root  36027  727  2021 odci.h
-rw-r--r-- 1 root root    326  727  2021 orajson.h
-rw-r--r-- 1 root root   6606  727  2021 oratypes.h
-rw-r--r-- 1 root root  15083  727  2021 orid.h
-rw-r--r-- 1 root root 102775  727  2021 ori.h
-rw-r--r-- 1 root root 161370  727  2021 orl.h
-rw-r--r-- 1 root root  43126  727  2021 oro.h
-rw-r--r-- 1 root root 123766  727  2021 ort.h
-rw-r--r-- 1 root root   9892  727  2021 xa.h

三、zabbix-server端配置

3.1 将达梦数据库安装目录中*.so 拷贝到zabbix-server目录

[dmdba@dmdb odbc]$ pwd
/dmdb8/dmdata/dmdbms/drivers/odbc
[dmdba@dmdb odbc]$ ll
总用量 24332
-rwxr-xr-x. 1 dmdba dinstall 3388200 29 10:18 libcrypto.so
-rwxr-xr-x. 1 dmdba dinstall 9945264 29 10:18 libdmdpi.so
-rwxr-xr-x. 1 dmdba dinstall 9677288 29 10:18 libdmfldr.so
-rwxr-xr-x. 1 dmdba dinstall 1006158 29 10:18 libdodbc.a
-rwxr-xr-x. 1 dmdba dinstall  194336 29 10:18 libdodbc.so
-rwxr-xr-x. 1 dmdba dinstall  690168 29 10:18 libssl.so

[root@zabbix-server lib]# mkdir -p /usr/lib/dm8/drivers/odbc/
[root@zabbix-server lib]# scp -r 达梦数据库IP:/dmdb8/dmdata/dmdbms/drivers/odbc/* /usr/lib/dm8/drivers/odbc/

3.2 配置 /etc/odbcinst.ini 文件,在 odbcinst.ini 文件中添加以下信息 指定达梦数据库驱动

[root@zabbix-server ~]# vim /etc/odbcinst.ini
......
[DM8 ODBC DRIVER]
Description = DM ODBC DRIVER FOR DM8
Driver      = /usr/lib/dm8/drivers/odbc/libdodbc.so

3.3 配置 /etc/odbc.ini 文件,在 odbc.ini 文件中添加以下连接信息:

[root@zabbix-server ~]# vim /etc/odbc.ini
......
[192.168.111.10-DMDB]
DRIVER = DM8 ODBC DRIVER
SERVER =192.168.111.10
UID = DMONITOR
PWD = test_2023
TCP_PORT = 5236

3.4 达梦数据库端创建监控用户

–GRANT SELECT ANY DICTIONARY TO dmonitor;

[dmdba@dmdb bin]$ ./disql SYSDBA/SYSDBA@IP:5236

服务器[IP:5237]:处于普通打开状态
登录使用时间 : 4.317(ms)
disql V8
SQL> create user "dmonitor" identified by "test_2023";
操作已执行
已用时间: 23.602(毫秒). 执行号:501.
SQL> grant "PUBLIC","RESOURCE","SOI","SVI","VTI" to "dmonitor";
操作已执行
已用时间: 3.893(毫秒). 执行号:502.
SQL> grant select on DBA_FREE_SPACE to dmonitor;
操作已执行
已用时间: 4.909(毫秒). 执行号:503.
SQL> grant select on DBA_DATA_FILES to dmonitor;
操作已执行
已用时间: 21.229(毫秒). 执行号:504.
SQL> grant select on DBA_USERS to dmonitor;
操作已执行
已用时间: 23.229(毫秒). 执行号:504.
SQL> set linesize 300
set pagesize 300
col USERNAME for a30
col DEFAULT_TABLESPACE for a30
col TEMPORARY_TABLESPACE for a20
col account_status for a20
col lock_date for a20
select username,account_status,lock_date,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE                                                                                                                                                              from dba_users;

行号     USERNAME   ACCOUNT_STATUS LOCK_DATE DEFAULT_TABLESPACE TEMPORARY_TABLES                                                                                                                                                             PACE
---------- ---------- -------------- --------- ------------------ --------------                                                                                                                                                             ------
1          SYSAUDITOR OPEN           NULL      SYSTEM             TEMP
2          SYSSSO     OPEN           NULL      SYSTEM             TEMP
3          SYSDBA     OPEN           NULL      MAIN               TEMP
4          DMONITOR   OPEN           NULL      MAIN               TEMP
5          SYS        OPEN           NULL      SYSTEM             TEMP

已用时间: 4.641(毫秒). 执行号:505.

3.5 ISQL 测试

[root@zabbix-server odbc]# isql -v ip-DMDB
[IM002][unixODBC][Driver Manager]Data source name not found and no default driver specified
[ISQL]ERROR: Could not SQLConnect

3.5.1 报错处理

报错是缺少依赖
使用ldd命令查看依赖

 [root@zabbix-server odbc]# ldd /usr/lib/dm8/drivers/odbc/libdodbc.so
        linux-vdso.so.1 (0x00007ffe37d9a000)
        libdmdpi.so => ./libdmdpi.so (0x00007ff797c00000)
        libdmfldr.so => ./libdmfldr.so (0x00007ff796e00000)
        libdmelog.so => not found
        libdmutl.so => not found
        libdmclientlex.so => not found
        libdmos.so => not found
        libdmcvt.so => not found
        libdmstrt.so => not found
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007ff798d9c000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007ff798d97000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007ff798d92000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ff796a00000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007ff798cb5000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007ff796600000)
        libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007ff798c9a000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ff798dab000)

把缺少的依赖包从达梦数据库安装目录中拷贝过来

[dmdba@dmdb bin]$ pwd
/dmdb8/dmdata/dmdbms/bin
[dmdba@dmdb bin]$ ll libdmelog.so
-rwxr-xr-x. 1 dmdba dinstall 38656 29 10:18 libdmelog.so
[dmdba@dmdb bin]$ ll libdmutl.so
-rwxr-xr-x. 1 dmdba dinstall 97160 29 10:18 libdmutl.so
[dmdba@dmdb bin]$ ll libdmclientlex.so
-rwxr-xr-x. 1 dmdba dinstall 217216 29 10:18 libdmclientlex.so
[dmdba@dmdb bin]$ ll libdmos.so
-rwxr-xr-x. 1 dmdba dinstall 216680 29 10:18 libdmos.so
[dmdba@dmdb bin]$ ll libdmcvt.so
-rwxr-xr-x. 1 dmdba dinstall 5119768 29 10:18 libdmcvt.so
[dmdba@dmdb bin]$ ll libdmstrt.so
-rwxr-xr-x. 1 dmdba dinstall 97088 29 10:18 libdmstrt.so

[root@zabbix-server odbc]# scp ip:/dmdb8/dmdata/dmdbms/bin/libdmelog.so .
libdmelog.so                                                               100%   38KB  21.3MB/s   00:00
[root@zabbix-server odbc]# scp ip:/dmdb8/dmdata/dmdbms/bin/libdmutl.so .
libdmutl.so                                                                100%   95KB  36.2MB/s   00:00
[root@zabbix-server odbc]# scp ip:/dmdb8/dmdata/dmdbms/bin/libdmclientlex.so .
libdmclientlex.so                                                          100%  212KB  45.2MB/s   00:00
[root@zabbix-server odbc]# scp ip:/dmdb8/dmdata/dmdbms/bin/libdmos.so .
libdmos.so                                                                 100%  212KB  10.4MB/s   00:00
[root@zabbix-server odbc]# scp ip:/dmdb8/dmdata/dmdbms/bin/libdmcvt.so .
libdmcvt.so                                                                100% 5000KB  32.9MB/s   00:00
[root@zabbix-server odbc]# scp ip:/dmdb8/dmdata/dmdbms/bin/libdmstrt.so .
libdmstrt.so         
      
[root@zabbix-server odbc]# ll
总用量 29992
-rwxr-xr-x 1 root root 3388200  210 11:34 libcrypto.so
-rwxr-xr-x 1 root root  217216  210 12:32 libdmclientlex.so
-rwxr-xr-x 1 root root 5119768  210 12:33 libdmcvt.so
-rwxr-xr-x 1 root root 9945264  210 11:34 libdmdpi.so
-rwxr-xr-x 1 root root   38656  210 12:32 libdmelog.so
-rwxr-xr-x 1 root root 9677288  210 11:34 libdmfldr.so
-rwxr-xr-x 1 root root  216680  210 12:32 libdmos.so
-rwxr-xr-x 1 root root   97088  210 12:33 libdmstrt.so
-rwxr-xr-x 1 root root   97160  210 12:32 libdmutl.so
-rwxr-xr-x 1 root root 1006158  210 11:34 libdodbc.a
-rwxr-xr-x 1 root root  194336  210 11:34 libdodbc.so
-rwxr-xr-x 1 root root  690168  210 11:34 libssl.so
[root@zabbix-server odbc]#

测试还是会缺少依赖我们直接bin/ 、drivers/ 目录拷贝过来

[root@zabbix-server odbc]#
[root@zabbix-server odbc]# mkdir bin
[root@zabbix-server odbc]# cd bin
[root@zabbix-server bin]# scp -r ip:/dmdb8/dmdata/dmdbms/bin/* .

测试打不开libdodbc.so,创建软连接给到/usr/lib64/目录下

[root@zabbix-server dm8]# isql -v 192.168.111.10-DMDB
[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib/dm8/drivers/odbc/libdodbc.so' : file not found
[ISQL]ERROR: Could not SQLConnect
[root@zabbix-server dm8]# ldd /usr/lib/dm8/drivers/odbc/libdodbc.so
        linux-vdso.so.1 (0x00007ffc4bf40000)
        libdmdpi.so => not found 
        libdmfldr.so => not found
        libdmelog.so => not found
        libdmutl.so => not found
        libdmclientlex.so => not found
        libdmos.so => not found
        libdmcvt.so => not found
        libdmstrt.so => not found
        librt.so.1 => /usr/lib64/librt.so.1 (0x00007f04b1cf3000)
        libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f04b1cee000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f04b1ce9000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f04b0800000)
        libm.so.6 => /usr/lib64/libm.so.6 (0x00007f04b1925000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00007f04b0400000)
        libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f04b1ccc000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f04b1d02000)
        libdmmem.so => not found
        libdmmem.so => not found
        libdmcalc.so => not found
ln -s //usr/lib/dm8/drivers/odbc/libdmdpi.so /usr/lib64/libdmdpi.so
ln -s /usr/lib/dm8/drivers/odbc/libdmfldr.so /usr/lib64/libdmfldr.so
ln -s /usr/lib/dm8/drivers/odbc/libdmelog.so /usr/lib64/libdmelog.so
ln -s /usr/lib/dm8/drivers/odbc/libdmutl.so /usr/lib64/libdmutl.so
ln -s /usr/lib/dm8/drivers/odbc/libdmclientlex.so /usr/lib64/libdmclientlex.so
ln -s /usr/lib/dm8/drivers/odbc/libdmos.so /usr/lib64/libdmos.so
ln -s /usr/lib/dm8/drivers/odbc/libdmcvt.so /usr/lib64/libdmcvt.so
ln -s /usr/lib/dm8/drivers/odbc/libdmstrt.so /usr/lib64/libdmstrt.so
ln -s /usr/lib/dm8/drivers/odbc/bin/libdmmem.so /usr/lib64/libdmmem.so
ln -s /usr/lib/dm8/drivers/odbc/bin/libdmcalc.so /usr/lib64/libdmcalc.so

再次测试成功
[root@zabbix-server bin]# isql -v ip-DMDB
±--------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
±--------------------------------------+
SQL>

四、数据库端安装zabbix-agent

[root@oracle ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
本次zabbix-agent版本为:Zabbix agent v6.0.3

[root@oracle ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.2/rhel/7/x86_64/zabbix-release-6.2-3.el7.noarch.rpm
获取https://repo.zabbix.com/zabbix/6.2/rhel/7/x86_64/zabbix-release-6.2-3.el7.noarch.rpm
警告:/var/tmp/rpm-tmp.iVoL5j: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:zabbix-release-6.2-3.el7         ################################# [100%]

[root@oracle ~]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base extras updates zabbix zabbix-agent2-plugins zabbix-non-supported
Cleaning up list of fastest mirrors
[root@oracle ~]# yum install zabbix-agent
已加载插件:fastestmirror
Determining fastest mirrors
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.cqu.edu.cn
 * updates: mirrors.cqu.edu.cn
base                                                                       | 3.6 kB  00:00:00
extras                                                                     | 2.9 kB  00:00:00
updates                                                                    | 2.9 kB  00:00:00
zabbix                                                                     | 2.9 kB  00:00:00
zabbix-agent2-plugins                                                      | 2.9 kB  00:00:00
zabbix-non-supported                                                       | 2.9 kB  00:00:00
(1/7): base/7/x86_64/group_gz                                              | 153 kB  00:00:00
(2/7): extras/7/x86_64/primary_db                                          | 249 kB  00:00:00
(3/7): zabbix-agent2-plugins/x86_64/primary_db                             | 2.9 kB  00:00:01
(4/7): zabbix-non-supported/x86_64/primary_db                              | 3.7 kB  00:00:01
(5/7): base/7/x86_64/primary_db                                            | 6.1 MB  00:00:02
(6/7): zabbix/x86_64/primary_db                                            |  44 kB  00:00:03
(7/7): updates/7/x86_64/primary_db                                         |  18 MB  00:00:04
正在解决依赖关系
--> 正在检查事务
---> 软件包 zabbix-agent.x86_64.0.6.2.6-release1.el7 将被 安装
--> 正在处理依赖关系 libpcre2-8.so.0()(64bit),它被软件包 zabbix-agent-6.2.6-release1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 pcre2.x86_64.0.10.23-2.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

==================================================================================================
 Package                 架构              版本                           源                 大小
==================================================================================================
正在安装:
 zabbix-agent            x86_64            6.2.6-release1.el7             zabbix            533 k
为依赖而安装:
 pcre2                   x86_64            10.23-2.el7                    base              201 k

事务概要
==================================================================================================
安装  1 软件包 (+1 依赖软件包)

总下载量:734 k
安装大小:2.8 M
Is this ok [y/d/N]: y
Downloading packages:
(1/2): pcre2-10.23-2.el7.x86_64.rpm                                        | 201 kB  00:00:00
warning: /var/cache/yum/x86_64/7/zabbix/packages/zabbix-agent-6.2.6-release1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
zabbix-agent-6.2.6-release1.el7.x86_64.rpm 的公钥尚未安装
(2/2): zabbix-agent-6.2.6-release1.el7.x86_64.rpm                          | 533 kB  00:00:05
--------------------------------------------------------------------------------------------------
总计                                                              131 kB/s | 734 kB  00:00:05
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591 检索密钥
导入 GPG key 0xA14FE591:
 用户ID     : "Zabbix LLC <packager@zabbix.com>"
 指纹       : a184 8f53 52d0 22b9 471d 83d0 082a b56b a14f e591
 软件包     : zabbix-release-6.2-3.el7.noarch (installed)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
是否继续?[y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : pcre2-10.23-2.el7.x86_64                                                      1/2
  正在安装    : zabbix-agent-6.2.6-release1.el7.x86_64                                        2/2
  验证中      : zabbix-agent-6.2.6-release1.el7.x86_64                                        1/2
  验证中      : pcre2-10.23-2.el7.x86_64                                                      2/2

已安装:
  zabbix-agent.x86_64 0:6.2.6-release1.el7

作为依赖被安装:
  pcre2.x86_64 0:10.23-2.el7

完毕!

[root@oracle ~]# find / -name "zabbix_agentd.conf"
/etc/zabbix/zabbix_agentd.conf
[root@oracle ~]# cat /etc/zabbix/zabbix_agentd.conf
PidFile=/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.111.137
ServerActive=192.168.111.137
Hostname=zabbix-server
UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf

#####启动zabbix-agent

[root@oracle zabbix]# systemctl start zabbix-agent
[root@oracle zabbix]# systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
[root@oracle zabbix]# systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
   Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since 五 2022-12-09 17:19:31 CST; 12s ago
 Main PID: 43123 (zabbix_agentd)
   CGroup: /system.slice/zabbix-agent.service
           ├─43123 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
           ├─43124 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
           ├─43125 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
           ├─43126 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
           ├─43127 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
           └─43128 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

12月 09 17:19:31 oracle systemd[1]: Starting Zabbix Agent...
12月 09 17:19:31 oracle systemd[1]: Started Zabbix Agent.
[root@oracle zabbix]#

确认zabbix服务端的10051端口 和 zabbix客户端的10050端口是否能通信

[root@oracle zabbix]# telnet ip 10051
[root@zabbix-server]# telnet ip 10050

五、在zabbix页面上添加主机监控

模板选择 A_DM
在这里插入图片描述

宏配置中添加

{$DM.DSN}

{$DM.USER}

{$DM.PASSWORD}

{$DM.PORT}
在这里插入图片描述

监控效果

在这里插入图片描述

Logo

一站式 AI 云服务平台

更多推荐