prometheus 统计MySQL 自增主键的剩余可用百分比
2019-08-08 23:50
1756 查看
最近生产环境一套数据库因为疯狂写日志数据,造成主键值溢出的情况出现,因此有必要将这个指标监控起来。
mysqld_exporter自带的这个功能,下面是我使用的启动参数:
nohup ./mysqld_exporter --config.my-cnf="./my.cnf" --web.listen-address=":9104" --collect.heartbeat --collect.auto_increment.columns --collect.binlog_size --collect.engine_innodb_status --collect.engine_tokudb_status --collect.slave_hosts --collect.slave_status --collect.info_schema.processlist --collect.info_schema.innodb_metrics > /dev/null 2>&1 &
红色高亮的参数,就是用来采集到自增id的使用情况的。
实际上执行的类似这个SQL:
SELECT table_schema, table_name, column_name, AUTO_INCREMENT, POW(2, CASE data_type WHEN 'tinyint' THEN 7 WHEN 'smallint' THEN 15 WHEN 'mediumint' THEN 23 WHEN 'int' THEN 31 WHEN 'bigint' THEN 63 END+(column_type LIKE '% unsigned'))-1 AS max_int FROM information_schema.tables t JOIN information_schema.columns c USING (table_schema,table_name) WHERE c.extra = 'auto_increment' AND t.TABLE_SCHEMA NOT IN ('information_schema','mysql', 'sys','test','performance_schema') AND t.auto_increment IS NOT NULL ;
在prometheus的web界面,我们可以测试编写如下的promql, 找出剩余自增id可以率少于40%的实例的库+表名
取到数据后,我们可以在alertmanager里面配置相关的告警,或者再grafana上面绘制图,如下:
相关文章推荐
- MySql按日期进行统计(前一天、本周、某一天) mybatis 语句中也可用
- 发款php蜘蛛统计插件只要有mysql就可用
- 发款php蜘蛛统计插件只要有mysql就可用
- 发款php蜘蛛统计插件只要有mysql就可用
- Mysql 统计百分比
- 发款php蜘蛛统计插件只要有mysql就可用
- 发款php蜘蛛统计插件只要有mysql就可用
- mysql中的百分比统计实例,round函数
- mysql分组然后统计某个值的百分比sql实现
- MySQL的高可用设计方案的记录
- mysql中设置主键步长
- MySQL高可用方案介绍
- MySQL高可用架构之MHA
- PHP 利用redis 做统计缓存mysql的压力
- Mysql 高可用方案讨论
- Mysql,Mybatis做时间过滤报表:日周月统计
- keepalived+mycat+mysql实现高可用主从架构(集群版)
- iBatis自动生成的主键 返回主键 (Oracle,Sql Server,Mysql,SQLite)
- 记录一次统计首页MYSQL非常慢的解决过程
- MySQL统计数据库表大小