TiDB監控節點擴縮容操作(是否保留歷史資料)

語言: CN / TW / HK

作者: Liuhaoao 原文來源:https://tidb.net/blog/adb8242d

最近在扒官方文件的時候,發現只有擴縮容tikv/pd/tidb/tiflash/ticdc的步驟,並沒有講擴縮容Prometheus/alertmanger/grafana的操作步驟,就想到憑藉自己的經驗寫一篇文章出來,供大家參考。由於本人學識淺薄,難免會有疏漏或錯誤的地方,還望各位路過的大佬不吝賜教(抱拳!)

 

縮容監控節點,會涉及到一個問題:是否保留監控資料。至於監控資料存存放位置、怎麼保留這部分內容我先單獨拿出來講講,以防後續在看具體操作步驟的時候會有很凌亂的感覺。

1、監控資料存放位置檢視方法:

資料存放位置(因為我叢集是預設部署,所以存放位置也是預設位置。如果自定義部署目錄的話,資料存放位置也會變,不同的叢集會有很大的區別,所以這裡主要是講方法):

1.1、檢視Prometheus部署路徑:

tiup cluster display test1
 ![image.png](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1662302493762.png)

1.2、進入Prometheus部署目錄,可以看到一個scripts目錄,存放了Prometheus啟動指令碼:

cd /tidb-deploy/prometheus-9090/

image.png

1.3、檢視指令碼,可以看到其中有--storage.tsdb.path這一項,對應的目錄就是監控資料存放地址:

cat run_prometheus.sh

image.png

 

還有一種方法也可以檢視監控歷史資料存放位置:

在程序中檢視

ps -ef |grep prometheus|grep "storage.tsdb.path"

對應目錄為監控歷史資料存放位置

image.png

 

2、備份歷史資料

2.1、進入該目錄(這一步也是決定縮容監控節點後歷史監控資料是否保留的操作),備份歷史監控資料:

cd /tidb-data/prometheus-9090/

image.png

2.2、因歷史資料量較大(預設保留30天的歷史資料:--storage.tsdb.retention="30d",因為我的測試叢集新搭建不久,也沒什麼資料量,所以資料並不是很多),所以進行壓縮:

tar -zcvf prometheus-9090.tar.gz prometheus-9090/

image.png

2.3、將壓縮檔案拷貝到備份目錄,至此完成Prometheus歷史資料備份:

mv prometheus-9090.tar.gz /root/backup/

 image.png

 

---------------------------------------------------------------割-------------------------------------------------------------

 

 

上邊完成了Prometheus歷史資料存放位置及備份的講解,接下來就該進入正題:縮容監控節點操作

1、檢視叢集現有節點,確認需要縮容節點(自己部署用於測試的小叢集,受限於硬體資源,只能單節點部署):

tiup cluster display test1

image.png

2、確認需縮容的節點資訊:

172.21.0.8:9093、172.21.0.8:3000、172.21.0.8:9090三個節點

image.png

3、縮容前備份資料(參考文章開頭的操作步驟)(如無需保留歷史資料,則忽略這一步操作)

4、執行縮容操作:

tiup cluster scale-in test1 -N 172.21.0.8:9093,172.21.0.8:3000,172.21.0.8:9090

image.png

5、檢視縮容後集群節點資訊,嘗試訪問grafana,確認縮容符合預期:

tiup cluster display test1

image.png

可以看到叢集中現在只有tidb、tikv、pd節點,監控節點已經縮容掉

 

嘗試訪問grafana:

image.png

可以看到grafana已經無法訪問,至此縮容操作完成

 

---------------------------------------------------------------割-------------------------------------------------------------

 

至於擴容叢集監控節點,與其他擴容操作步驟類似,區別就在於多了匯入監控資料這一步

 

擴容叢集監控節點:

1、編輯擴容檔案:

vim scale.yaml

monitoring_servers:
  - host: 172.21.0.8
    ssh_port: 22
    port: 9090
    deploy_dir: "/tidb-deploy/prometheus-8249"
    data_dir: "/tidb-data/prometheus-8249"
    log_dir: "/tidb-deploy/prometheus-8249/log"
    
grafana_servers:
  - host: 172.21.0.8
    port: 3000
    deploy_dir: /tidb-deploy/grafana-3000
    
alertmanager_servers:
  - host: 172.21.0.8
    ssh_port: 22
    web_port: 9093
    cluster_port: 9094
    deploy_dir: "/tidb-deploy/alertmanager-9093"
    data_dir: "/tidb-data/alertmanager-9093"
    log_dir: "/tidb-deploy/alertmanager-9093/log"

image.png

2、執行擴容命令:

tiup cluster scale-out test1 scale.yaml

image.png

image.png

3、擴容已經完成,檢視叢集擴容後節點資訊:

image.png

監控節點已擴容完成

 

嘗試訪問grafana:

image.png

grafana已經能夠訪問,但是隻有叢集監控節點擴容完成後的監控資料,並沒有歷史監控資料,這時候就需要我們文章開頭備份的叢集歷史監控資料了

4、將備份的叢集歷史資料匯入新部署的叢集監控:

因為我們只需要叢集的歷史資料,所以將備份中歷史資料檔案匯入新叢集的監控資料存放目錄即可

4.1、將備份歷史資料解壓縮:

tar -xvf prometheus-9090.tar.gz

image.png

4.2、將資料檔案拷貝到新叢集的監控資料存放目錄

cp 01G* /tidb-data/prometheus-8249/

image.png

5、reload叢集,使新叢集載入匯入的歷史資料檔案

tiup cluster reload test1

image.png

6、嘗試訪問grafana監控,時間選擇7day,檢驗歷史資料檔案匯入是否生效

image.png

歷史資料匯入成功,至此擴容叢集監控節點及歷史資料匯入完成

回顧整個縮容過程,最容易出現問題的步驟就是不會考慮到保留歷史資料,這一步其實是很重要重要的,比如說叢集需要調整new_collations_enabled_on_first_bootstrap這個引數,只能考慮重新部署叢集(version<=6.0),這時候就需要在銷燬叢集前將歷史監控資料備份,叢集重新部署完成後將歷史監控資料再恢復,如果沒有備份歷史監控資料,就可能會有問題。就備份歷史資料而言,其實操作起來很容易,只需將資料備份,匯入到監控資料存放目錄,然後reload即可。

以上就是縮容監控節點及歷史監控資料備份恢復的操作步驟,希望對大家有所幫助。