随着Zabbix agent2的发布,监控数据库似乎变得简单了许多,只需要输入DSN、用户名、密码就可以监控,但是并不是所有的数据库都支持装插件,所以ODBC这种方式依然有用,但从另外一个角度来看,如果公司没有专线前往公有云,那么数据库需要开启对外访问,隐藏了一些额外的安全风险,所以监控之前可以斟酌再三是否有必要,很多的公有云的自有监控也做的不错。
正文
环境
- Zabbix版本:5.2.6
- 数据库:Mariadb 10.4.13
- 数据库所在平台:AWS(海外)
AWS操作
AWS需要注意两个点,一个是对外开放,另外一个是安全组。
这里要选择是
安全组放行公网IP,放通3306即可
Zabbix Server操作
在terminal telnet终端节点域名看是否OK,如下图二
复制终端节点域名
telnet该域名看是否OK
确定测试没问题后,开始预装odbc驱动,由于自带的驱动无法登录到mariadb,所以需要安装相对应的驱动。
- dnf -y install mariadb-connector-odbc
- 如果是mysql v8版本,则需要安装官方源
- rpm -ivh https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
- dnf update mysql80-community-release
- dnf -y install mysql-connector-odbc
CentOS目前是自带odbc连接器的,如果没有请提前安装ODBC,包名叫unix-odbc
此时先看驱动清单。
- vi /etc/odbcinst.ini
找到之后记住驱动名称,前往ODBC连接器编辑列表,这里写法和MSSQL有点区别,首行是DSN,下面的driver是odbcinst.ini里的驱动名称,然后接着是server的IP/域名,端口号。
做完之后,开始测试。
- isql kasar 用户名 密码 -v
Zabbix前端操作
在添加主机时,需要注意的是主机IP为域名,如下图一所示,完整地如下面3副图。
填写主机名为域名
添加ODBC的模板
填写相关宏
效果
数据获取正常
出图正常
写在最后
通过ODBC这种方式其实也很灵活,也可以自带sql脚本去监控相对应的指标,随着云厂商对于监控的重视,可视化程度越来越高,所以很多需求不大的人其实并不关注数据库监控的内容,但始终有一点定制化确实是很难的,想要添加指标除非是比较公开化,普遍需求,否则需要二次定制开发,这也是自己监控的一个好处,仁者见仁,智者见智,总之适合自己的才是最好的。