helm安裝配置mysql exporter

過程1波三折,實際上需要做的并不多
mysql exporter 使用helm安裝,只需要將mysql的設(shè)定傳入到chart下的values.yaml中
具體步驟如下:

#查看當前的helm repo
[root@master ~]# helm repo list
NAME    URL                          
stable  https://charts.helm.sh/stable

拉取相關(guān)的chart,不直接install的原因是將mysql 連接需要的值傳入到values.yaml中

helm pull prometheus-mysql-exporter stable/prometheus-mysql-exporter 
cd $HOME/.cache/helm/repository/   #helm 文件下載的目錄
tar zxvf prometheus-mysql-exporter-0.7.1.tgz   #解壓mysql exporter 的文件
cd prometheus-mysql-exporter/
#修改values.yaml的值,主要是將連接數(shù)據(jù)庫的用戶名,host信息等傳入進去,同時在建立容器的同時建立servicemonitor
...
serviceMonitor:
  enabled: true
...
mysql:
  db: ""
  host: "你的ip"
  param: ""
  pass: "你的密碼"
  port: 3306
  protocol: ""
  user: "exporter"
  existingSecret: false
...

當然exporter在數(shù)據(jù)庫中首先定義好相關(guān)的權(quán)限,以及密碼,訪問限制等

CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';

操作完以上之后,需要重新打包helm文件

rm -f prometheus-mysql-exporter-0.7.1.tgz
tar zcvf prometheus-mysql-exporter-0.7.1.tgz prometheus-mysql-exporter
#之后執(zhí)行helm install
helm install mysql  prometheus-mysql-exporter-0.7.1.tgz --namespace monitoring
#觀察容器是否正常啟動
kubectl -n monitoring get pods
NAME                                                     READY   STATUS    RESTARTS   AGE
alertmanager-prometheus-prometheus-oper-alertmanager-0   2/2     Running   0          69d
mysql-prometheus-mysql-exporter-bfc59c7b7-dnhhm          1/1     Running   0          4h54m
prometheus-grafana-5558455c66-52dsg                      2/2     Running   0          69d
prometheus-kube-state-metrics-6b46f67bf6-h5nhs           1/1     Running   0          46d
prometheus-prometheus-node-exporter-2jrvp                1/1     Running   0          69d
prometheus-prometheus-node-exporter-ct96h                1/1     Running   0          69d
prometheus-prometheus-node-exporter-lbsnm                1/1     Running   0          69d
prometheus-prometheus-node-exporter-m6jd6                1/1     Running   0          14d
prometheus-prometheus-node-exporter-nlfwt                1/1     Running   0          69d
prometheus-prometheus-oper-operator-7c75ff5864-g2lkq     2/2     Running   0          23h
prometheus-prometheus-prometheus-oper-prometheus-0       3/3     Running   2          45h
#測試與數(shù)據(jù)庫的連通性
[root@master ~]# kubectl -n monitoring get svc
NAME                                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
alertmanager-operated                     ClusterIP   None             <none>        9093/TCP,9094/TCP,9094/UDP   69d
mysql-prometheus-mysql-exporter           ClusterIP   10.105.203.102   <none>        9104/TCP                     4h55m
prometheus-grafana                        NodePort    10.104.181.79    <none>        80:32669/TCP                 69d
prometheus-kube-state-metrics             ClusterIP   10.102.76.12     <none>        8080/TCP                     69d
prometheus-operated                       ClusterIP   None             <none>        9090/TCP                     69d
prometheus-prometheus-node-exporter       ClusterIP   10.103.134.197   <none>        9100/TCP                     69d
prometheus-prometheus-oper-alertmanager   ClusterIP   10.103.19.123    <none>        9093/TCP                     69d
prometheus-prometheus-oper-operator       ClusterIP   10.97.236.198    <none>        8080/TCP,443/TCP             69d
prometheus-prometheus-oper-prometheus     NodePort    10.97.65.121     <none>        9090:30658/TCP               69d
curl 10.105.203.102:9104/metrics |grep mysql_up
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  347k  100  347k    0     0  2079k      0 --:--:-- --:--:-- --:--:-- 2081k
# HELP mysql_up Whether the MySQL server is up.
# TYPE mysql_up gauge
mysql_up 1

mysql_up是1 證明與數(shù)據(jù)庫連接正常,接下來要看與prometheus 是否連接正常

#確認service monitor已創(chuàng)建
[root@master ~]# kubectl -n monitoring get servicemonitors.monitoring.coreos.com 
NAME                                                 AGE
mysql-prometheus-mysql-exporter                      5h4m

瀏覽器確認狀態(tài):


image.png

上圖表明,prometheus已經(jīng)成功加入了mysql exporter。
在這個過程中,我開始創(chuàng)建的mysql exporter 并未在網(wǎng)頁端targets選項中找到,最后發(fā)現(xiàn)問題的所在是要


image.png

這里默認生成的release 是mysql ,但是需要指定為prometheus,修改完之后,需要等一段時間重新查看就能看到了
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 最初的需求就是在k8s上安裝sentry。之前通過自己梳理sentry工程各組件的關(guān)聯(lián)關(guān)系做過一次部署。后面...
    do_young閱讀 5,166評論 0 4
  • 如果您的kubernetes已有了helm,那么部署mysql的步驟可以進一步簡化,那些原先需要自己動手配置的de...
    程序員欣宸閱讀 1,924評論 0 0
  • 概覽 ? Helm 簡介 ? Helm 安裝使用 ? Helm 的基本使用 ? Helm 模板詳解之內(nèi)置函數(shù)與 V...
    51reboot閱讀 2,603評論 0 2
  • 第3章、初識 Chart 一、Chart 是什么? 還記得我們在第一章節(jié)時介紹 Helm 的三大概念時是如何介紹 ...
    獨奏亂序閱讀 3,303評論 0 2
  • 介紹 Helm 是 Deis 開發(fā)的一個用于 Kubernetes 應(yīng)用的包管理工具,主要用來管理 Charts。...
    小波同學閱讀 1,582評論 0 4

友情鏈接更多精彩內(nèi)容