使用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)文章
MySQL中日期和時(shí)間戳互相轉(zhuǎn)換的函數(shù)和方法
這篇文章主要介紹了MySQL中日期和時(shí)間戳互相轉(zhuǎn)換的函數(shù)和方法,本文分別講解了時(shí)間戳轉(zhuǎn)換成日期的方法和把日期轉(zhuǎn)換為時(shí)間戳的方法,需要的朋友可以參考下2015-06-06
MySQL聯(lián)表查詢基本操作之left-join常見(jiàn)的坑
這篇文章主要給大家介紹了關(guān)于MySQL聯(lián)表查詢基本操作之left-join的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
MySQL 5.5的max_allowed_packet屬性的修改方法
今天在部署一個(gè)實(shí)驗(yàn)系統(tǒng)的時(shí)候,報(bào)錯(cuò)提示需要修改一下MySQL的配置文件,在修改的時(shí)候是有技巧的,大家可以參考下本文嘗試操作下2013-08-08
從這個(gè)基本語(yǔ)法可以看出,最簡(jiǎn)單的SELECT語(yǔ)句是SELECT select_list,實(shí)際上利用這個(gè)最簡(jiǎn)單的SELECT語(yǔ)句,你也可以完成許多你期待的功能,首先你能利用它進(jìn)行MySQL所支持的任何運(yùn)算,例如:SELECT 1+1,它將返回2;其次,你也能利用它給變量賦值,而在PHP中,運(yùn)用SELECT語(yǔ)句的這種功能,你就可以自由地運(yùn)用MySQL的函數(shù)為PHP程序進(jìn)行各種運(yùn)算,并賦值給變量。在很多的時(shí)候,你會(huì)發(fā)現(xiàn)MySQL擁有許多比PHP更為功能強(qiáng)大的函數(shù)。2008-04-04
MySQL觸發(fā)器之判斷更新操作前后數(shù)據(jù)是否改變
這篇文章主要介紹了MySQL觸發(fā)器之判斷更新操作前后數(shù)據(jù)是否改變方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
親手教你怎樣創(chuàng)建一個(gè)簡(jiǎn)單的mysql數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)是存放數(shù)據(jù)的“倉(cāng)庫(kù)”,維基百科對(duì)此形象地描述為“電子化文件柜”,這篇文章主要介紹了親手教你怎樣創(chuàng)建一個(gè)簡(jiǎn)單的mysql數(shù)據(jù)庫(kù),需要的朋友可以參考下2022-11-11
MySQL 參數(shù)相關(guān)概念及查詢更改方法
這篇文章主要介紹了MySQL 參數(shù)相關(guān)概念及查詢更改方法,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-09-09
MySQL數(shù)據(jù)庫(kù)索引的最左匹配原則
sql查詢用到索引的條件是必須要遵守最左前綴原則,本文就詳細(xì)的介紹了MySQL數(shù)據(jù)庫(kù)索引的最左匹配原則,感興趣的可以了解一下2021-11-11

