当前位置: 首页 > news >正文

Zabbix 使用同一ODBC监控不同版本MySQL

一、ODBC介绍

  ODBC是Open Database Connect 即开发数据库互连的简称,它是一个用于访问数据库的统一界面标准。ODBC引入一个公共接口以解决不同数据库潜在的不一致性,从而很好的保证了基于数据库系统的应用程序的相对独立性。ODBC 概念由 Microsoft 开发,后来移植到其他平台。

      Zabbix 可以查询 ODBC 支持的任何数据库。Zabbix 不直接连接到数据库,而是使用 ODBC 接口和在 ODBC 中设置的驱动程序。此功能允许更有效地监控不同数据库的多种用途——例如,检查特定的数据库队列、使用统计信息等。

二、数据库创建监控用户

CREATE USER 'zbxmon'@'%' IDENTIFIED BY 'Zabbix1234$';
GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbxmon'@'%';

 注:此处以Mysql8.0为例。不同Mysql数据库版本授权语句可能存在差异,请根据版本自行百度。

三、安装数据库驱动

      相信大家使用过ODBC监控过Mysql数据库的人都清楚Mysql根据各个版本情况驱动可能存在上下不兼容的情况。那么此情况可能会导致部分不兼容的设备监控失效。当然不会根据Proxy部署不同的驱动文件进而增加维护难度。如何使用相同的驱动进行适配。如下所示:

1、安装 unixODBC

  下载unixODBC文件如下:

   http://www.unixodbc.org/

   编译unixODBC

tar  -zvxf unixODBC-2.3.11.tar.gzcd unixODBC-2.3.11./configure --prefix=/opt/unixODBC-2.3.11 --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etcmake && make install

2、odbcinst -j 输出配置信息

安装完成后如出现错误如下:

odbcinst: error while loading shared libraries: libodbcinst.so.2: cannot open shared object file: No such file or directory

解决办法

共享库文件安装到了/lib或/usr/lib目录下, 执行一下ldconfig命令

ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件。

3、安装mariadb驱动

tar -xvzf mariadb-connector-odbc-3.1.4-ga-rhel7-x86_64.tar.gz   ##提前下载mariadb驱动

sudo install lib64/libmaodbc.so /usr/lib64/

4、配置驱动

odbcinst.ini配置文件用于ODBC 数据库驱动程序配置信息

vim /etc/odbcinst.ini
[MySql]Description=ODBC for MySQLDriver=/usr/lib64/libmaodbc.soSetup=/usr/lib64/libodbcmyS.soFileUsage=1

odbc.ini配置文件用于数据源配置信息

vim  /etc/odbc.ini[mysql]Description=MySQL test databaseDriver=MySQLServer=127.0.0.1User=zbxmonPassword=Zabbix1234$Port=3306Database=zabbix

5、验证 ODBC 连接 

isql -v mysql

四、服务端驱动说明

1、需要使用unixODBC功能,编译Zabbix/Proxy安装时需要添加--with-unixodbc 参数,系统需要安装如下依赖:

yum -y install unixODBC unixODBC-devel

2、修改服务端配置文件

Zabbix 使用ODBC 监控数据库性能需要使用 odbc poller进程,使用StartODBCPollers参数激活 ODBC 轮询器如下:

StartODBCPollers=3

五、关联监控模板

此处不做过多展示简单说明一下。添加主机并关联“MySQL by ODBC”监控模板,修改{$MYSQL.DNS}宏变量,用户密码宏变量可根据自身设置在ODBC配置文件中配置或在ODBC配置文件中去掉使用前端宏变量配置即可。

博主可能不能及时回答疑问,如技术问题欢迎加入交流。

博主具有丰富的模板资源和开发能力及项目落地管理经验分享欢迎加入交流

微信号:king_songax

http://www.lryc.cn/news/193094.html

相关文章:

  • Swagger3.0 与spring boot2.7x 整合避免swagger2.0与boot2.7冲突
  • 【HTML+REACT+ANTD 表格操作】处理(改变)数据,改变DOM
  • 【面试经典150 | 哈希表】最长连续序列
  • 如何构建安全的App网络通信?
  • Chrome插件精选 — 网页截图插件
  • react+antd封装表格组件2.0
  • 互联网Java工程师面试题·Java 并发编程篇·第八弹
  • 21面向对象描述器
  • 高校教务系统登录页面JS分析——皖西学院
  • 单片机综合小项目
  • docker下的onlyoffice安装(for seafile)
  • 1 两数之和
  • NewStarCTF2023week2-Unserialize?
  • OpenMesh 最优选点策略
  • 服务器内存总量和内存条有差异是什么问题 103.239.244.X
  • WPF DataGrid详细列表手动显示与隐藏
  • Compose 组件 - 分页器 HorizontalPager、VerticalPager
  • Web3 招聘 | Bitget、MyShell、imToken、Arweave 多项目招聘中
  • 通过HTTP发送大量数据的三种方法
  • 【MySQL】索引和事物
  • win11下的VS2022+QT6+VTK9.2+PCL1.13.1联合开发环境配置及踩坑记录
  • CEdit
  • vue3 自定义指令
  • 用PolarDB|PostgreSQL提升通用ai机器人在专业领域的精准度
  • idea中maven plugin提示not found
  • Hadoop3教程(七):MapReduce概述
  • 【Doris实战】Apache-doris-2.0.2部署帮助手册
  • 如何处理接口调用的频率限制
  • Ubuntu 22.04上安装Anaconda,及 conda 的基础使用
  • 算法练习13——跳跃游戏II