tidb的granfana如何配置慢SQL邮件告警?

【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

现在生产系统需要将 tidb超过10秒的慢SQL通过邮件告警出来,请问该如何操作?

可以基于 top sql 的sql 只能自己写程序逻辑,或者编写export 覆盖或者elk ,直接能用的好像没有

一种做法是把集群的慢查询阈值调大到10s,然后获取到prometheus里的慢查询,配置alertmanager就可以发送对应的告警,这个是相对比较简单的方式,可以最大利用现有的组件功能。

另一个方式是保留原有的慢查询阈值,通过收集集群的全部慢查询日志(实时采集全部日志文件,或者读取系统已经帮忙汇总的系统表都可以),过滤找出超过10s的SQL,然后再导入告警平台将消息发送出去。这个方案要求的技术栈和能力会高一些。

不要 sql 文本的话,现有的逻辑应该可以,慢 SQL 情况在 Prometheus 中应该是有直方图,告警后再自己去慢 SQL 中找慢 SQL
另一种方式就是结合自己监控平台,自己通过 SQL 语句查慢 SQL ,但是这种不推荐,因为这种监控 SQL 本身就耗费资源比较多
PS:不能啥都放到监控里做吧

感觉可以自己通过脚本实现,逻辑比较清晰简单

确实,用代码写个定时任务

可以把alertmanager中配置文件中的配置改一下,我看默认用tiup安装的alertmanager都是注释的

可以自己写个sql查询,类似 select * from INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY where Query_time >10
然后通过计划任务定期执行shell脚本发送邮件告警。

我这都是用python自己写的监控程序,把需要的指写存储到数据库里面,再用页面展示出来,自带的都是用于排查问题。

alter manager 自定义

alter manager

https://github.com/hcymysql/pt-kill
这个开源工具,可以查杀慢语句并发送告警