利用Zabbix ODBC monitoring监控MySQL

 

1. 创建群组ODBC Templates

clip_p_w_picpath002

 

2. 创建Template SQL Server和Template MySQL

clip_p_w_picpath004

 

clip_p_w_picpath006

 

3. 在Zabbbix上安装unixODBC

shell> yum -y install unixODBC unixODBC-devel

 

4. 在Zabbix上安装对应数据库的unixODBC驱动

unixODBC有一个支持的数据库和驱动列表:

http://www.unixodbc.org/drivers.html

 

对于MySQL:

 

a) 安装unixODBC驱动

shell> yum install mysql-connector-odbc

 

b) 配置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驱动的的位置:

shell> find / -name 'lib*odbc*.so'

 

odbc.ini用于定义数据库源:

[szlinux01]

Description = MySQL database szlinux01

Driver = mysql

Server = 192.168.137.3

User = zabbix

Password = ABCabc!@#123

Port = 3306

Database = DBAdmin

 

参数详解:

属性

描述

Test

数据源名称(DSN)

Description

数据源描述

Driver

在odbcinst.ini中指定的数据库驱动名称

Server

数据库服务器IP/DNS

User

用于连接的数据库用户

Password

数据库用户密码

Port

数据库连接端口

Database

数据库名称

 

c) 在被监控服务区szlinux01上创建用户并授权:

mysql> grant usage,select on *.* to 'zabbix'@'%' identified by 'ABCabc!@#123';
mysql> flush privileges;

 

我这边创建了一个DBAdmin库,用于存储一些自定义的性能和业务监控数据。例如,统计某个业务库的数据大小和表行数。

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES;

 

d) 在Zabbix服务器unixODBC包中有一个isql工具,我们用来验证正常:

shell> isql szlinux01

+---------------------------------------+

| Connected! |

| |

| sql-statement |

| help [tablename] |

| quit |

| |

+---------------------------------------+

SQL>

 

e) 在Zabbix新建的Template MySQL模板添加监控项

clip_p_w_picpath008

 

你必需指定的数据库监控项:

类型

这里选择数据库监控

键值

输入db.odbc.select[unique_description,data_source_name],这里的唯一描述用于在触发器识别监控项。

数据源名称必需被设置为odbc.ini中的。

用户名称

输入数据库用户名(如果用户名已经在odbc.ini设置,则不用)

密码

输入数据库用户密码(如果密码已经在odbc.ini设置,则不用)

SQL查询

输入SQL查询

信息类型

要知道查询返回的数据类型,从而选择正确的类型。如果使用不正确的信息类型,监控项将变为不支持。

 

f) 将被监控服务器szlinux01连接该模板,并查看数据:

clip_p_w_picpath010


clip_p_w_picpath012


参考:

https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/odbc_checks