目錄:
??1. mysqld-exporter 鏡像下載
??2. yaml 文件編寫
??3. Grafana 導(dǎo)入 MySQL 的 dashboard 儀表盤
一.mysqld-exporter 鏡像下載
1.鏡像下載
下載官網(wǎng)地址:https://hub.docker.com/r/prom/mysqld-exporter
docker pull prom/mysqld-exporter
2.push 到鏡像倉庫
本地 Harbor 鏡像倉庫地址 172.18.231.30
秽褒,將鏡像推送到倉庫的相關(guān)命令如下:
#鏡像打成tar包
docker save prom/mysqld-exporter:latest > ./mysqld-exporter.tar
#加載tar包為鏡像
docker load -i mysqld-exporter.tar
#打tag標(biāo)簽
docker tag prom/mysqld-exporter:latest 172.18.231.30:5000/si-tech/mysqld-exporter:1.0
#登錄本地Harbor鏡像倉庫
docker login 172.18.231.30
***
*********
#本地鏡像推送到Harbor倉庫
docker push 172.18.231.30:5000/si-tech/mysqld-exporter:1.0
由下圖可見,成功將鏡像 push 到我們的 Harbor 鏡像倉庫:
二.yaml 文件編寫并執(zhí)行
定義 DATA_SOURCE_NAME
環(huán)境變量,DATA_SOURCE_NAME
的賬號需要對數(shù)據(jù)庫有讀寫權(quán)限孩哑,否則權(quán)限問題會導(dǎo)致無法獲取數(shù)據(jù)每庆。
mysql-exporter.yaml:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mysql-exporter-1562292684314
spec:
replicas: 1
selector:
matchLabels:
app: mysql-exporter-1562292684314
template:
metadata:
labels:
app: mysql-exporter-1562292684314
spec:
containers:
- name: mysql-exporter
image: 172.18.231.30:5000/si-tech/mysqld-exporter:1.0
imagePullPolicy: IfNotPresent
ports:
- name: mysqlexporter
containerPort: 9104
protocol: TCP
env:
- name: "DATA_SOURCE_NAME"
value: "root:root123@(172.21.1.21:30838)/"
resources:
requests:
cpu: 0.2
memory: 200Mi
limits:
cpu: 0.2
memory: 200Mi
---
apiVersion: v1
kind: Service
metadata:
name: mysql-exporter-svc-1562292684314
labels:
app: mysql-exporter-svc-1562292684314
spec:
ports:
- port: 9104
targetPort: 9104
name: mysqlexporter
selector:
app: mysql-exporter-1562292684314
type: NodePort
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
k8s-app: mysql-exporter-sm-1562292684314
name: mysql-exporter-sm-1562292684314
spec:
endpoints:
- interval: 15s
port: mysqlexporter
path: /metrics
namespaceSelector:
matchNames:
- default
jobLabel: app
selector:
matchLabels:
app: mysql-exporter-svc-1562292684314
Prometheus 與 ServiceMonitor 及exporter的 Service的關(guān)系圖解如下:
執(zhí)行 mysql-exporter.yaml 文件就轧,成功如下所示:
- 1.exporter 啟動成功后跌捆,可通過 http://172.21.1.21:31116/ 訪問 exporter 服務(wù)亡哄,通過 http://172.21.1.21:31116/metrics 查看 exporter 的監(jiān)控指標(biāo)。
-
2.Prometheus 定期中從該 exporter 中拉取 metrics 信息枣抱。
三. Grafana 導(dǎo)入 MySQL 的 dashboard
下載 MySQL 的 dashboard 文件 MySQL_Overview.json
熔吗,下載地址:https://github.com/percona/grafana-dashboards/tree/master/dashboards。
登錄 Grafana 首頁佳晶,并導(dǎo)入 MySQL_Overview.json
桅狠,創(chuàng)建 MySQL 的 dashboard。
重新配置 Data Source 數(shù)據(jù)源轿秧。
MySQL_Overview.json
中默認(rèn)的 Data Source 為 Prometheus
中跌,我們改為自己的 Prometheus 數(shù)據(jù)源。
最后菇篡,我們打開 MySQL 的 dashboard 就可以查看實(shí)時監(jiān)控數(shù)據(jù)漩符,如下圖: