天天看點

重新編譯mysqld_exporter0.10

截止本人實驗時候,github上面提供的最新版的普羅米修斯 mysqld_exporter 版本為 0.10.0 , 添加了pt-heartbeat的結合,同時也加入了對mariadb采集的支援(增加了指令show all slaves status)。

将新版的mysqld_exporter-0.10.0 部署到mysql機器上沒過多久,業務方回報ELK裡面出現一堆的error報錯,提示文法錯誤。報錯關鍵點就是 show all slaves status; 這個新增加的對mariadb支援導緻的(我們用的是mysql5.6官方版本)。

下面,來自己動手改造下,過程如下:

源碼包:

mysqld_exporter-0.10.0.tar.gz

go1.8.3.linux-amd64.tar.gz

步驟:

cd /root/

tar xf mysqld_exporter-0.10.0.tar.gz -C ./

yum install git -y 

tar xf go1.8.3.linux-amd64.tar.gz -C /usr/local/

mkdir /golang# 建立$GOPATH路徑,所有的go項目以後都會自動存放到這個目錄下。

vim  /etc/profile.d/go.sh 内容如下:

export GOROOT=/usr/local/go
export GOPATH=/golang
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin      

source /etc/profile.d/go.sh

go get github.com/prometheus/prometheus

go get github.com/go-sql-driver/mysql

cd /golang 

mv /root/mysqld_exporter-0.10.0 /golang/src/github.com/prometheus/mysqld_exporter

cd /golang/src/github.com/prometheus/mysqld_exporter

修改collector/slave_status.go 第18行,修改後: var slaveStatusQueries = [2]string{"SHOW SLAVE STATUS", "SHOW SLAVE STATUS"}