使用prometheus統(tǒng)計(jì)MySQL自增主鍵的剩余可用百分比
最近生產(chǎn)環(huán)境一套數(shù)據(jù)庫(kù)因?yàn)榀偪駥?xiě)日志數(shù)據(jù),造成主鍵值溢出的情況出現(xiàn),因此有必要將這個(gè)指標(biāo)監(jiān)控起來(lái)。
mysqld_exporter自帶的這個(gè)功能,下面是我使用的啟動(dòng)參數(shù):
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 &
紅色高亮的參數(shù),就是用來(lái)采集到自增id的使用情況的。
實(shí)際上執(zhí)行的類(lèi)似這個(gè)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界面,我們可以測(cè)試編寫(xiě)如下的promql, 找出剩余自增id可以率少于40%的實(shí)例的庫(kù)+表名
(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
取到數(shù)據(jù)后,我們可以在alertmanager里面配置相關(guān)的告警,或者再grafana上面繪制圖,如下:
到此這篇關(guān)于使用prometheus統(tǒng)計(jì)MySQL自增主鍵的剩余可用百分比的文章就介紹到這了,更多相關(guān)prometheus統(tǒng)計(jì)MySQL自增主鍵內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用Grafana+Prometheus監(jiān)控mysql服務(wù)性能
- 利用Prometheus與Grafana對(duì)Mysql服務(wù)器的性能監(jiān)控詳解
- SpringBoot使用prometheus監(jiān)控的示例代碼
- springboot2.X整合prometheus監(jiān)控的實(shí)例講解
- SpringBoot+Prometheus+Grafana實(shí)現(xiàn)應(yīng)用監(jiān)控和報(bào)警的詳細(xì)步驟
- Prometheus的安裝和配置教程詳解
- Prometheus 入門(mén)教程之SpringBoot 實(shí)現(xiàn)自定義指標(biāo)監(jiān)控
- Prometheus開(kāi)發(fā)中間件Exporter過(guò)程詳解
- springboot集成普羅米修斯(Prometheus)的方法
- 使用 prometheus python 庫(kù)編寫(xiě)自定義指標(biāo)的方法(完整代碼)
- 使用Prometheus+Grafana的方法監(jiān)控Springboot應(yīng)用教程詳解
- Prometheus 監(jiān)控MySQL使用grafana展示
相關(guān)文章
與MSSQL對(duì)比學(xué)習(xí)MYSQL的心得(一)--基本語(yǔ)法
最開(kāi)始接觸的數(shù)據(jù)庫(kù)為MSSQL,不過(guò)最近項(xiàng)目需求,仔細(xì)學(xué)習(xí)了下MYSQL,下面就對(duì)比MSSQL,把MYSQL的學(xué)習(xí)心得分享給大家2014-06-06MySQL查看主從狀態(tài)的命令實(shí)現(xiàn)
本文主要介紹了MySQL查看主從狀態(tài)的命令實(shí)現(xiàn),我們可以使用SHOW SLAVE STATUS命令來(lái)查看主從狀態(tài),本文就來(lái)詳細(xì)的介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2023-10-10MySQL 實(shí)現(xiàn)樹(shù)的遍歷詳解及簡(jiǎn)單實(shí)現(xiàn)示例
這篇文章主要介紹了MySQL 實(shí)現(xiàn)樹(shù)的遍歷詳解及簡(jiǎn)單實(shí)現(xiàn)示例的相關(guān)資料,這里提供了示例代碼及測(cè)試結(jié)果,需要的朋友可以參考下2017-01-01詳解MySQL用事件調(diào)度器Event Scheduler創(chuàng)建定時(shí)任務(wù)
事件調(diào)度器(Event Scheduler)是在MySQLv5.1.6中新增的一個(gè)功能,它相當(dāng)于一個(gè)定時(shí)器,可以在指定的時(shí)間點(diǎn)執(zhí)行一條SQL語(yǔ)句或一個(gè)語(yǔ)句塊,也可以用于在固定間隔重復(fù)執(zhí)行。下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)在MySQL中如何用事件調(diào)度器Event Scheduler創(chuàng)建定時(shí)任務(wù)2016-08-08