首页 > 数据库 >使用夜莺和 Categraf 快速建设 MySQL 监控

使用夜莺和 Categraf 快速建设 MySQL 监控

时间:2024-07-11 11:34:01浏览次数:9  
标签:夜莺 实例 监控 MySQL 仪表盘 Categraf

之前翻译过一篇文章,介绍 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`

3. 查看 MySQL 监控指标

在夜莺的指标视图或者即时查询中都可以看到 MySQL 的监控指标,只要能查到,就说明数据正常上报了,比如即时查询:

输入 MySQL 关键字之后,立马提示了很多指标,这就说明这些指标都采集上来了。直接写 promql 对很多人来讲有难度,可以使用指标视图,使用内置的 promql 查看监控数据:

点击某个指标,侧拉板里就会发起查询:

默认打开的是 Table 视图,也可以点击 Graph 切换成图表视图。

4. 导入 MySQL 模板

重新回到夜莺模板中心,搜索 MySQL,找到仪表盘那个 tab,导入仪表盘,我这个例子里是在 MySQL 对应的机器上部署的 Categraf,所以导入的是“MySQL 仪表盘”,如果是远端监控的 MySQL 实例,那就导入“MySQL 仪表盘(远端)”。

然后去业务组下找到刚才导入的仪表盘,点开查看即可:

5. 导入告警规则

回到模板中心,找到 MySQL 的告警规则 tab,全选,把告警规则导入自己的业务组下即可。

完活。

模板中心已经内置了一些模板,使用起来比较方便。当然,中间件、数据库种类比较多,也不是每个都整理的很完备,欢迎大家一起整理这些采集说明、仪表盘、告警规则、指标说明,提 PR 给社区,一起共建。代码提交到这里:

https://github.com/ccfos/nightingale/tree/main/integrations

可以参考 MySQL 目录下的内容,按照格式提交即可。

标签:夜莺,实例,监控,MySQL,仪表盘,Categraf
From: https://www.cnblogs.com/ulricqin/p/18295733

相关文章

  • 13 mysql高级查询
    完整的查询sql语句selectselect选项字段列表fromtable表数据源wherewhere条件groupbygroup分组条件havinghaving条件orderbyorder排序limitlimit限制select选项:all默认,可以省略,表示保存所有查询的结果distinct:去重,去除重复记录(所有的字段都相同才是重复的......
  • (免费领源码)Java/Mysql数据库+09536 SSM爱心捐赠物资维护系统,计算机毕业设计项目推荐上
    摘要随着信息技术的快速发展,计算机应用已经进入成千上万的家庭。随着物资数量的增加,物资库存管理也存在许多问题。物资数据的处理量正在迅速增加,原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析,减少人力和物力的浪费。需要建立爱心捐赠物资维护系......
  • Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和
    场景存储过程存储过程是一组为了完成特定功能的SQL语句集合。使用存储过程的目的是将常用或复杂的工作预先用SQL语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程。当以后需要数据库提供与己定义好的存储过程的功能相同的服务时,......
  • MYSQL——帆软连接报错
    2024/07/111.报错2.报错原因3.解决办法4.参考1.报错错误代码:11300001数据集配置错误<br>Query:<br>Unknowninitialcharactersetindex'255'receivedfromserver.Initialclientcharactersetcanbeforcedviathe'characterEncoding'property.日志里......
  • 成为MySQL DBA后,再看ORACLE数据库(十三、物理备份)
    前面总结了ORACLE的逻辑备份,本文来总结以下ORACLE的物理备份。数据库的备份一般分为冷备份和热备份,其中冷备份是指将数据库彻底关闭后进行的一致性备份,由于需要关停数据库所以在实际应用中很少用到冷备份。而热备份是指在数据库运行的同时对数据库进行备份,本文主要总结的是ORACLE......
  • 宋红康MySQL笔记
    MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花板https://www.bilibili.com/video/BV1iq4y1u7vj?p=43&vd_source=ecbebcd4db8fad7f74c518d13e78b165HAVING的使用#练习:查询各个部门中最高工资比10000高的部门信息#错误的写法:SELECTdepartment_id,MAX(salary)FROMem......
  • 基于SpringBoot + SpringCloud+ElasticSear的在线教育管理系统设计与实现(MySQL、Mongo
    本项目适合做计算机相关专业的毕业设计,课程设计,技术难度适中、工作量比较充实。完整资源获取点击下载完整资源1、资源项目源码均已通过严格测试验证,保证能够正常运行;2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;3、本项目比较适合计算......
  • MySQL和Redis更新一致性问题
    1.先更新数据库,再更新缓存适用场景:适用于对数据一致性要求不是特别高,且缓存更新失败对系统影响较小的场景。例如,某些非关键数据的缓存更新。风险:如果缓存更新失败,会导致数据库和缓存数据不一致。//更新数据库updateMySQL(data);//更新缓存updateRedis(data);2......
  • MySQL中datetime和timestamp的区别
    #MySQL中datetime和timestamp的区别相同点两个数据类型存储时间的格式一致。均为YYYY-MM-DDHH:MM:SS两个数据类型都包含「日期」和「时间」部分。两个数据类型都可以存储微秒的小数秒(秒后6位小数秒)自动更新和默认值TIMESTAMP:支持默认值为当前时间,且在记录更新时可以......
  • mysql数据库中毒恢复
    一、立即隔离受感染的系统断开网络连接:首先,立即断开受感染系统的网络连接,以防止病毒进一步传播或黑客获取更多敏感信息。隔离受感染设备:将受感染的计算机或服务器从网络中隔离出来,以避免对其他系统造成影响。二、评估损害范围检查日志文件:查看系统日志和MySQL日志文件,了解病毒......