我也可以将这篇文章命名为当 Pandas 在 MySQL Shell 中遇到海豚时。
前段时间,我写了一篇关于在尝试为MySQL寻求帮助时如何收集初始相关数据的帖子。
从那时起,MySQL Shell 工程团队实施了另一个强大的本机实用程序,该实用程序收集所有基本信息等并将它们存储在单个 zip 文件中。
此 zip 存档包含 TSV 和 YAML 文件,例如,MySQL 支持团队可以用来解决您的最终问题。
有关 MySQL Shell 的更多信息util.debug.collectDiagnostics(),我鼓励您查看手册。
这个工具特别强大,可以在一个命令中收集 InnoDB Cluster 的所有成员的数据。
趋势
作为大多数老的(阅读经验丰富的)MySQL DBA,当我想了解一个 MySQL 系统时,我真的更喜欢查看可用的趋势信息。
这些图形通常完美地说明了一句古老的格言:一张图片胜过一千个单词。
但是,当我们没有一个很好的趋势解决方案来监控我们的 MySQL 数据库时,我们能做些什么呢?
MySQL Shell 的插件
再一次,用 Python 为 MySQL Shell 编写的插件可能是一个足够的解决方案。
我编写了一个易于扩展的插件,它能够收集一段时间的指标(默认为 10 分钟)并生成一些有用的图表来了解 MySQL 服务器的工作负载和最终争用。
该插件与我用于 MySQL Shell 的所有其他插件一起在我的 GitHub 存储库中提供:https 😕/github.com/lefred/mysqlshell-plugins/ 。
该插件非常易于使用,如果所需的模块可用,您可以使用pandas和mathplotlib生成趋势图。

我很惊讶熊猫有多酷。并且惊讶于解析和使用收集的数据是多么容易。
如果您愿意,您可以收集数据并稍后在其他系统上绘制。

目前,插件收集的数据比用于绘制这些图表的数据多得多。
如果您的 MySQL 服务器是 MySQL HeatWave 实例,还会收集一些额外的指标。
每个采集模块都可以指定粒度。最小值为 1 秒。
添加新图表很容易,不需要更多的开发技能。
例如,说明线程的图表是如何生成的:

图表
让我们看一些在运行一些不同的sysbench进程时生成的绘图示例:









正如您所看到的,这些图表已经是更好地了解工作负载的一个很好的起点。我将根据需要继续添加新图表。
享受 MySQL、MySQL Shell 和 Pandas!
原文标题:Poorman’s MySQL monitoring/trending
原文作者:LEFRED
原文地址:https://lefred.be/content/poormans-mysql-monitoring-trending/




