(15)zabbix ODBC数据库监控
概述
ODBC监控对应于Zabbix Web管理端中的Database monitor监控项类型。
ODBC是用于访问数据库管理系统(DBMS)的C语言中间件API。ODBC由Microsoft开发,后来移植到其它平台。
Zabbix可以查询ODBC支持的任何数据库。为了实现监控,Zabbix不直接连接到数据库,而是使用ODBC中设置的ODBC接口和驱动。该功能允许为多个目的更加有效地监控不同的数据库 - 例如,监控特定的数据库队列、使用统计信息等。Zabbix支持unixODBC,它是最常用的开源ODBC API实现之一。
安装unixODBC
安装unixODBC的建议方法是使用Linux操作系统的默认软件包存储库。在流行的Linux发行版中,unixODBC默认包含在软件包存储库中。如果不可用,可以在unixODBC主页获取:http://www.unixodbc.org/download.html.
使用yum包管理器在基于RedHat/Fedora的系统上安装unixODBC:
shell> yum -y install unixODBC unixODBC-devel
unixODBC-devel包需要使用unixODBC support来编译Zabbix。
安装unixODBC驱动(同样在server上安装,用于连接远程数据库)
安装unixODBC数据库驱动。unixODBC有一个受支持的数据库和驱动程序的列表:http://www.unixodbc.org/drivers.html. 在一些Linux发行版中,数据库驱动程序包含在包仓库中。使用yum包管理器在基于RedHat/Fedora的系统上安装MySQL数据库驱动:
shell> yum install -y mysql-connector-odbc
配置unixODBC
通过编辑odbcinst.ini和odbc.ini文件来完成ODBC配置。要确认配置文件位置,请键入:
shell> odbcinst -j
odbcinst.ini用于列出已安装的ODBC数据库驱动程序:
[mysql]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
参数详细信息:
属性 |
描述 |
mysql |
数据库驱动程序名称。 |
Description |
数据库驱动描述。 |
Driver |
数据库驱动程序库位置。 |
odbc.ini用于定义数据源:(该文件/etc/odbc.ini默认不存在需要手动建立,添加以下内容)
[test]
Description = MySQL test database
Driver = mysql
Server = 127.0.0.1
User = root
Password =
Port = 3306
Database = zabbix
属性 |
描述 |
test |
数据源名称 (DSN)。 |
Description |
数据源描述。 |
Driver |
数据库驱动名称。 - 被指定在文件 odbcinst.ini |
Server |
数据库服务器的 IP/DNS。 |
User |
数据库连接的用户。 |
Password |
数据库连接用户的密码。 |
Port |
数据库连接端口。 |
Database |
数据库名称。 |
要验证ODBC连接是否正常工作,应测试与数据库的连接。 可以使用isql实用程序(包含在unixODBC包中):
shell> isql test
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
使用ODBC support编译Zabbix
要启用ODBC支持,Zabbix应该使用以下标志进行编译:
--with-unixodbc[=ARG] 使用odbc驱动程序与unixODBC包
在Zabbix Web前端配置监控项
配置数据库的 监控项:
专用于数据库监控项的必要输入:
Type |
选择数据库监控器。 |
Key |
输入db.odbc.select[unique_description,data_source_name]。这里唯一的描述将用于识别触发器中的监控项等。必须按照odbc.ini中的指定设置数据源名称(DSN)。 |
User name |
输入数据库用户名(如果用户在odbc.ini中指定,则可选) |
Password |
输入数据库用户密码(如果在odbc.ini中指定密码,则为可选项) |
SQL query |
输入SQL查询 |
Type of information |
了解查询将返回什么类型的信息很重要,以便在此处正确选择。 使用不正确的类型的信息监控项将不受支持。 |
重要信息
- 该查询的执行时间不能超过服务器上的Timeout参数。从Zabbix 2.0.8开始,Timeout参数值也用作ODBC登录超时(请注意,根据ODBC驱动程序,登录超时设置可能会被忽略)。
- 该查询只能返回一个值。
- 如果查询返回多个列,则只读取第一列。
- 如果查询返回多行,则只读取第一行。
- SQL命令必须以select开始。
- SQL命令不能包含任何换行符。
- 另请参考ODBC的已知问题。
错误信息
从Zabbix 2.0.8开始,ODBC错误消息被构造为字段以提供更详细的信息。示例:
Cannot execute ODBC query:[SQL_ERROR]:[42601][7][ERROR: syntax error at or near ";"; Error while executing the query]|
------------------------- --------- ----- | ------------------------------------------------------------------- |
| | | `- Native error code `- error message. `- Record separator
| | `-SQLState
`- Zabbix message `- ODBC return code
注意,错误消息长度限制为2048字节,因此消息可以被截断。如果有多个ODBC诊断记录,Zabbix会尝试把它们连起来,只要长度限制允许。
注意:
目前CentOS仓库中的mysql-connector-odbc版本是8.0,可用于连接MySQL Server 8.0, 5.7, 5.6, and 5.5
下面是整个过程:
yum install unixODBC unixODBC-devel mysql-connector-odbc -y
vim /etc/odbcinst.ini
vim odbc.ini
(15)zabbix ODBC数据库监控的更多相关文章
- 13 Zabbix Item类型之Zabbix ODBC类型
点击返回:自学Zabbix之路 13 Zabbix Item类型之Zabbix ODBC类型 ODBC是C语言开发的.用于访问数据库的中间件接口 . zabbix支持查询任何ODBC支持的数据库.za ...
- 编译安装mysql和zabbix,xtrabackup数据库备份
xtrabackup参考文章 https://www.cnblogs.com/linuxk/p/9372990.html 下载5.7的mysql 社区版包 https://cdn.mysql.com/ ...
- Zabbix企业级开源监控解决方案
Zabbix企业级开源监控解决方案 目录 Zabbix企业级开源监控解决方案 一.Zabbix 1. 监控系统的必要性 2. 监控软件的作用 3. Zabbix的定义 4. Zabbix的监控原理 5 ...
- 【Paddy】数据库监控系列(一) - 监控理念
很多时候,都和身边朋友聊两个问题,DBA的日常工作都是哪些?什么才是数据库方面最重要的? 我相信这两个问题的答案每个人都不会完全一样,我也是,所以这里只代表我的个人观点,并且以下的内容将围绕我的思路展 ...
- 6. SQL Server数据库监控 - 如何告警
原文:6. SQL Server数据库监控 - 如何告警 常用的告警方式大致有:短信.邮件.应用程序 (beep提示,图标提示,升窗提示等),可是不能一直坐在电脑前看着应用程序,或者用脚本部署监控,根 ...
- 企业级数据库监控利器Lepus
开篇介绍官方网站:http://www.lepus.cc开源企业级数据库监控系统简洁.直观.强大的开源数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式性能监控,让数据库监控更 ...
- 15 Zabbix Item类型之Zabbix trapper类型
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 15 Zabbix Item类型之Zabbix trapper类型 zabbix获取数据时有时会出 ...
- 给zabbix添加percona监控模板
简单说明一下给zabbix添加的percona的监控模板. 在percona官方网站有说明怎么安装,这里记录下步骤.首先搭建好的zabbix环境. 监控插件连接 : 链接:https://pan.ba ...
- Zabbix 添加 WEB 监控
添加 WEB Monitorings Web Monitoring是用来监控web程序的,可以监控到web程序的下载速度.返回码及响应时间,还支持把一组连续的web动作作为一个整体来监控. 下面我们以 ...
随机推荐
- Luogu P4892 GodFly的寻宝之旅【状压dp】By cellur925
题目传送门 又是一道状压+计数类好题hh(真香).数据范围非常友好,告诉我们\(n<=18\),非常符合状压的性质. 其实感觉和\(Hamilton\)路径那题还是有些相似的,我们可以类似地设计 ...
- java string(转)
初探Java字符串 优化变成了忧患:String.split引发的“内存泄露” String是java中的无处不在的类,使用也很简单.初学java,就已经有字符串是不可变的盖棺定论,解释通常是:它是f ...
- [題解] luogu p1220 關路燈
區間dp 题目描述 某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯. ...
- django_uWSGI+nginx环境
1 uWSGI 作用 Django 默认使用的是 Python 自带的 simple HTTPServer 提供web服务的,在安全性和效率上都是不行的,只能用作django开发测试. WSGI是一个 ...
- CF #541div2 F
题目本质:并查集的链式合并 解决方法1: 类似哈夫曼树,叶节点们为真点,其余造一些虚的父节点,使得dfs这棵树的时候,先进行并查合并的点一定是兄弟节点因而紧挨着被输出,巧妙达到了效果. #pragma ...
- c51中的bit,SBIT
在51单片机的0x20~0x2f,是bdata区既可以字节寻址又可以位寻址.用法: 1 先用bdata存储类型关键字 定义变量,注意其值就是地址 .unsigned char bdata MYBITS ...
- SimpleDateFormat 如何安全的使用?
前言 为什么会写这篇文章?因为这些天在看<阿里巴巴开发手册详尽版>,没看过的可以关注微信公众号:zhisheng,回复关键字:阿里巴巴开发手册详尽版 就可以获得. 关注我 转载请务必注明 ...
- 寻找最美的你(select)
Time Limit:2000ms Memory Limit:128MB 题目描述 这个问题是这样的,如果一个区间[L,R]存在一个数ai,使得这个数是这个区间所有数的约数,那么[L,R]这段区间 ...
- SpringMVC中,前台jsp封装参数,绑定参数,传递参数到后台controller的过程详解
前台到后台的流程:前台jsp->后台:controller控制器层->service业务层->DAO数据访问层->数据库model模型层. 从上面流程可知,前台jsp的数据,想 ...
- Java GUI设置图标
ImageIcon是Icon接口的一个实现类. ImageIcon类的构造函数: ImageIcon() ImageIcon(String filename) //本地图片文件 ImageIcon ...