promethues mysql-rules

groups:

  • name: mysql.rules

rules:

  • alert: MysqlDown

expr: mysql_up == 0

for: 1s

labels:

severity: critical

annotations:

title: 'MySQL down'

description: "Mysql实例: 【{{ $labels.instance }}】, MySQL instance is down"

  • alert: MysqlTooManyConnections(>80%)

expr: avg by (instance) (rate(mysql_global_status_threads_connected[1m])) / avg by (instance) (mysql_global_variables_max_connections) * 100 > 80

for: 2m

labels:

severity: warning

annotations:

title: 'MySQL too many connections (> 80%)'

description: "Mysql实例: 【{{ labels.instance }}】, More than 80% of MySQL connections are in use, Current Value: {{ value }}%"

  • alert: MysqlThreadsRunningHigh

expr: mysql_global_status_threads_running > 80

for: 2m

labels:

severity: warning

annotations:

title: 'MySQL Threads_Running High'

description: "Mysql实例: 【{{ labels.instance }}】, Threads_Running above the threshold(40), Current Value: {{ value }}"

  • alert: MysqlTooManyClientThreadsActivity

expr: mysql_global_status_threads_connected{instance !~ "10.xxx:3306||10.xxxx:3306"} > 120

for: 2m

labels:

severity: warning

annotations:

title: 'Too many Client Thread activity'

description: "Mysql实例:【{{ labels.instance }}】, {{ value }} Too many Client Thread activity"

  • alert: MysqlQpsHigh

expr: sum by (instance) (rate(mysql_global_status_queries[2m])) > 500

for: 2m

labels:

severity: warning

annotations:

title: 'MySQL QPS High'

description: "Mysql实例: 【{{ labels.instance }}】, MySQL QPS above 500, Current Value: {{ value }}"

  • alert: MysqlSlowQueries

expr: increase(mysql_global_status_slow_queries[1m]) > 0

for: 2m

labels:

severity: warning

annotations:

title: 'MySQL slow queries'

description: "Mysql实例: 【{{ $labels.instance }}】, has some new slow query."

  • alert: MysqlTooManyAbortedConnections

expr: round(increase(mysql_global_status_aborted_connects[5m])) > 300

for: 5m

labels:

severity: warning

annotations:

title: 'MySQL too many Aborted connections in 5 minutes'

description: "Mysql实例: 【{{ labels.instance }}】, {{ value }} Aborted connections within 5 minutes"

  • alert: MysqlTooManyAbortedClients

expr: round(increase(mysql_global_status_aborted_clients[120m])) > 300

for: 2m

labels:

severity: warning

annotations:

title: 'MySQL too many Aborted connections in 2 hours'

description: "Mysql实例: 【{{ labels.instance }}】, {{ value }} Aborted Clients within 2 hours"

  • alert: MysqlSlaveIoThreadNotRunning

expr: mysql_slave_status_master_server_id > 0 and ON (instance) mysql_slave_status_slave_io_running == 0

for: 1s

labels:

severity: critical

annotations:

title: 'MySQL Slave IO thread not running'

description: "Mysql实例: 【{{ $labels.instance }}】, MySQL Slave IO thread not running"

  • alert: MysqlSlaveSqlThreadNotRunning

expr: mysql_slave_status_master_server_id > 0 and ON (instance) mysql_slave_status_slave_sql_running == 0

for: 1s

labels:

severity: critical

annotations:

title: 'MySQL Slave SQL thread not running'

description: "Mysql实例: 【{{ $labels.instance }}】, MySQL Slave SQL thread not running"

  • alert: MysqlSlaveReplicationLag

expr: mysql_slave_status_master_server_id > 0 and ON (instance) (mysql_slave_status_seconds_behind_master - mysql_slave_status_sql_delay) > 30

for: 1m

labels:

severity: critical

annotations:

title: 'MySQL Slave replication lag'

description: "Mysql实例: 【{{ $labels.instance }}】, MySQL replication lag"

  • alert: MysqlInnodbLogWaits

expr: rate(mysql_global_status_innodb_log_waits[15m]) > 10

for: 0m

labels:

severity: warning

annotations:

title: 'MySQL InnoDB log waits'

description: "Mysql实例: 【{{ $labels.instance }}】, innodb log writes stalling"

  • alert: mysql_table_locks

expr: increase(mysql_global_status_table_locks_waited{job="mysqld_exporter"}[2m])

for: 0m

labels:

severity: warning

annotations:

title: 'MySQL table_locks'

description: "Mysql实例: 【{{ $labels.instance }}】, mysql table locks"

相关推荐
数据库小组1 天前
2026 年,MySQL 到 SelectDB 同步为何更关注实时、可观测与可校验?
数据库·mysql·数据库管理工具·数据同步·ninedata·selectdb·迁移工具
华科易迅1 天前
MybatisPlus增删改查操作
android·java·数据库
SHoM SSER1 天前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
黄林晴1 天前
Android 17 取色器 API:无需权限,一行 Intent 跨应用取色
android
qq_283720051 天前
MySQL技巧(十四): 连接数过多 (Too many connections):原因 + 排查 + 终极解决方案
mysql·连接池·性能·异常
lifewange1 天前
java连接Mysql数据库
java·数据库·mysql
程序员陆业聪1 天前
别再说 Flutter 是唯一选择了——KMP 正在悄悄抢走它的地盘
android
三少爷的鞋1 天前
2026 已过 1/3:事豫则立,不预则废——关于架构、协程与边界的思考
android
冬奇Lab1 天前
Android 15 音频子系统(八):Audio HAL 与硬件接口——音频数据的最后一公里
android·音视频开发·源码阅读
不写八个1 天前
PHP教程004:php链接mysql数据库
数据库·mysql·php