几周前,我们做了一个直播讨论Percona监视和管理(PMM)雷竞技下载官网raybet雷竞技竞猜在线官网并展示了一些有趣的事情我们做的OSS峰会。在直播期间,我们试图让一些自定义查询跟踪号码的评论被添加到我们的电影数据库的例子。我们遇到一个问题生活,不让它工作。作为一个结果,我想跟进,向大家展示如何添加您自己的自定义指标PMM并向你展示一些陷阱,以避免在构建它们。
自定义指标定义在一个文件部署在每个服务器你监控(而不是在服务器本身)。raybet雷竞技竞猜在线官网你可以添加自定义指标通过导航到下列之一:
- MySQL: /usr/local/perc雷竞技下载官网ona/pmm2/collectors/custom-queries / MySQL
- PostgreSQL: /usr/local/perc雷竞技下载官网ona/pmm2/collectors/custom-queries / PostgreSQL
- MongoDB:这个功能还没有可用的——敬请期待!
你会发现以下每个目录下的目录:
- 高分辨率/ -每5秒
- 中分辨率/ -每10秒
- 低分辨率/ -每隔60秒
注意您可以更改默认度量集合的频率会向上或向下的设置和改变他们。如果可以的话,最好在未来我们添加了一个决议直接YML文件中配置。但是现在,它是一个通用的设置:

在每一个目录,你会发现一个例子.yml文件格式如下:
|
1
2
3
4
5
6
|
mysql_oss_demo
:
查询
:
“select count(1)从movie_json_test.movies_normalized_user_comments comment_cnt;”
指标
:
- - - - - -
comment_cnt
:
使用
:
“规”
描述
:
“计数的评论的数量”
|
我们的错误在直播是我们忘了包括数据库查询(即table_name.database_name),但有一个漏洞,阻止我们看到的错误日志文件。没有设置数据库YML,所以注意了。
这将创建一个名为mysql_oss_demo_comment_cnt的度量在你指定的任何决议。每个YML将执行分别有自己的连接。这是重要的理解如果你部署大量的自定义查询您将看到一个稳定的连接数(这是你想要考虑如果你在做自定义集合)。或者,您可以将查询和度量添加到相同的文件,但他们是顺序执行。然而,如果整个YML文件不能在短时间内完成比定义的决议(即完成在5秒钟内高分辨率),然后数据不会存储,但是查询将继续运行。这可能会导致一个查询堆积如果你不小心。例如,上面的查询一般需要1 - 2秒数。我把这在中桶。我添加了加载系统,查询时备份。

你可以看到放缓。你需要小心,选择合适的分辨率。移动这到低分辨率为我解决了这个问题。
也就是说,查询响应时间是动态的基于服务器的条件。因为这些查询将运行完成并行(如果运行时间较长分辨率),你应该考虑限制查询时在MySQL和PostgreSQL防止堆积太多的查询。
在MySQL中,您可以使用:
|
1
2
3
4
5
6
7
8
|
mysql
>
选择
/
*
+
MAX_EXECUTION_TIME
(
4
)
*
/
数
(
1
)
作为
comment_cnt
从
movie_json_test
.movies_normalized_user_comments
;
错误
1317年
(
70100年
)
:
查询
执行
是
打断了
和
在
PostgreSQL
你
可以
使用
:
集
statement_timeout
=
“4 s”
;
选择
数
(
1
)
作为
comment_cnt
从
movies_normalized_user
_评论
;
错误
:
取消
声明
由于
来
声明
超时
|
通过强制超时可以保护自己。说,这是“错误”所以你可能看到错误日志中的错误。
你可以检查系统日志(syslog或消息)与您的自定义查询错误(注意此时的PMM 2.0.21,错误没有成为这些日志,因为潜在的bug)。如果数据被收集和一切都正确设置,在默认Grafana explorer或“先进数据探索”PMM的仪表板。寻找你的度量,您应该能够看到数据制作成:

在上面的截图中,你会发现一些相当大的差距的数据(绿色)。这些差距是由于我们的查询花费的时间要比决议桶。你可以看到当我们搬到60秒的分辨率(橙色),填充图。
雷竞技下载官网Praybet雷竞技竞猜在线官网ercona监视和管理是一种优秀的开源数据库监视解决方案。它能帮助你降低复杂性、优化性能和改善关键业务数据库的安全环境中,无论他们在那里部署。





