之前翻译过一篇文章,介绍 MySQL 监控的一些原理,本文侧重实操,使用夜莺 v7.beta12.1 版本为大家做一个演示,采集器使用 Categraf,先看一下最终仪表盘效果:
图片
下面开工。1. 安装夜莺和 Categraf夜莺的安装可以参考 夜莺官方文档,Categraf 的安装可以参考 Categraf官方文档。这里就不赘述了。2. 配置 Categraf
图片
点击 MySQL 集成,打开【采集说明】这个 tab,里面有详细的操作步骤,按照步骤操作即可。
图片
比如我们要监控某个 MySQL 实例,该实例在 10.1.2.3 机器上,那我们就到 10.1.2.3 的机器上安装 Categraf,并且按照【采集说明】中的配置来配置 MySQL 的连接地址,因为是本机的 Categraf 连到本机的 MySQL 实例上采集监控数据,所以 address 大概率是配置成 127.0.0.1:3306,默认配置给的用户名和密码是 root 、1234,生产环境下,通常不会这么干,而是创建一个只读的 MySQL 账号专门给监控采集器使用。比如:CREATE USER 'categraf'@'127.0.0.1' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON . TO 'categraf'@'127.0.0.1';
如果 MySQL 是云上的实例,没法登录 MySQL 所在机器部署 Categraf,此时可以选一台和 MySQL 实例网络质量比较好的虚机,在虚机上部署 Categraf,监控远端的 MySQL 实例。这个 Categraf 可能同时监控了多个 MySQL 实例,所以要配置多个 [[instances]] 段(采集说明页面下面也给出了样例),每个配置段中都要给出 instance 标签来区分不同的实例。如果验证 Categraf 是否采集到了数据?使用如下命令:./categraf --test --inputs mysql
如果正常打印了采集到的指标,重启 Categraf 即可,或者给 Categraf 发个 HUP 信号,让其重载配置。kill -HUP pidof categraf

  1. 查看 MySQL 监控指标在夜莺的指标视图或者即时查询中都可以看到 MySQL 的监控指标,只要能查到,就说明数据正常上报了,比如即时查询:
    图片
    输入 MySQL 关键字之后,立马提示了很多指标,这就说明这些指标都采集上来了。直接写 promql 对很多人来讲有难度,可以使用指标视图,使用内置的 promql 查看监控数据:
    图片
    点击某个指标,侧拉板里就会发起查询:
    图片
    默认打开的是 Table 视图,也可以点击 Graph 切换成图表视图。4. 导入 MySQL 模板重新回到夜莺模板中心,搜索 MySQL,找到仪表盘那个 tab,导入仪表盘,我这个例子里是在 MySQL 对应的机器上部署的 Categraf,所以导入的是“MySQL 仪表盘”,如果是远端监控的 MySQL 实例,那就导入“MySQL 仪表盘(远端)”。
    图片
    然后去业务组下找到刚才导入的仪表盘,点开查看即可:
    图片

图片

  1. 导入告警规则回到模板中心,找到 MySQL 的告警规则 tab,全选,把告警规则导入自己的业务组下即可。
    图片
    完活。模板中心已经内置了一些模板,使用起来比较方便。当然,中间件、数据库种类比较多,也不是每个都整理的很完备,欢迎大家一起整理这些采集说明、仪表盘、告警规则、指标说明,提 PR 给社区,一起共建。代码提交到这里:https://github.com/ccfos/nightingale/tree/main/integrations可以参考 MySQL 目录下的内容,按照格式提交即可。

SRETALK
14 声望11 粉丝

关注 SRE、可观测性、开源商业化