1
0
mirror of https://github.com/prometheus/mysqld_exporter.git synced 2025-07-31 17:44:21 +03:00

Support MySQL 8.4 replicas syntax (#837)

* support MySQL 8.4

Signed-off-by: Mitsuhiro Tanda <mitsuhiro.tanda@gmail.com>
---------

Signed-off-by: Mitsuhiro Tanda <mitsuhiro.tanda@gmail.com>
This commit is contained in:
Mitsuhiro Tanda
2024-05-15 17:11:39 +09:00
committed by GitHub
parent 0c89d59c06
commit f6a64d768c
2 changed files with 18 additions and 5 deletions

View File

@ -30,7 +30,7 @@ const (
slaveStatus = "slave_status"
)
var slaveStatusQueries = [2]string{"SHOW ALL SLAVES STATUS", "SHOW SLAVE STATUS"}
var slaveStatusQueries = [3]string{"SHOW ALL SLAVES STATUS", "SHOW SLAVE STATUS", "SHOW REPLICA STATUS"}
var slaveStatusQuerySuffixes = [3]string{" NONBLOCKING", " NOLOCK", ""}
func columnIndex(slaveCols []string, colName string) int {
@ -113,7 +113,13 @@ func (ScrapeSlaveStatus) Scrape(ctx context.Context, db *sql.DB, ch chan<- prome
}
masterUUID := columnValue(scanArgs, slaveCols, "Master_UUID")
if masterUUID == "" {
masterUUID = columnValue(scanArgs, slaveCols, "Source_UUID")
}
masterHost := columnValue(scanArgs, slaveCols, "Master_Host")
if masterHost == "" {
masterHost = columnValue(scanArgs, slaveCols, "Source_Host")
}
channelName := columnValue(scanArgs, slaveCols, "Channel_Name") // MySQL & Percona
connectionName := columnValue(scanArgs, slaveCols, "Connection_name") // MariaDB