前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >prometheus 统计MySQL 自增主键的剩余可用百分比

prometheus 统计MySQL 自增主键的剩余可用百分比

作者头像
保持热爱奔赴山海
发布2019-09-17 15:10:16
1.4K0
发布2019-09-17 15:10:16
举报
文章被收录于专栏:饮水机管理员饮水机管理员

最近生产环境一套数据库因为疯狂写日志数据,造成主键值溢出的情况出现,因此有必要将这个指标监控起来。

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:

代码语言:javascript
复制
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 ;
image.png
image.png

在prometheus的web界面,我们可以测试编写如下的promql, 找出剩余自增id可以率少于40%的实例的库+表名

(mysql_info_schema_auto_increment_column_max{schema!~'test|mysql'} - mysql_info_schema_auto_increment_column{schema!~'test|mysql'})/mysql_info_schema_auto_increment_column_max{schema!~'test|mysql'}*100 < 40

image.png
image.png

取到数据后,我们可以在alertmanager里面配置相关的告警,或者再grafana上面绘制图,如下:

image.png
image.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档