通過Prometheus監(jiān)控備份中心并配置告警
您可以將備份中心接入Prometheus,通過阿里云Prometheus服務(wù)監(jiān)控當(dāng)前集群中備份倉庫及備份任務(wù)的狀態(tài),實(shí)現(xiàn)應(yīng)用遷移、備份容災(zāi)狀態(tài)的實(shí)時(shí)監(jiān)控。本文介紹如何使用備份中心監(jiān)控大盤以及如何配置備份任務(wù)失敗告警。
前提條件
已安裝migrate-controller備份服務(wù)組件,且組件為v1.7.10及以上版本。具體操作,請(qǐng)參見安裝migrate-controller備份服務(wù)組件并配置權(quán)限、升級(jí)組件。
1.20以下版本的集群無法升級(jí)至最新版本的migrate-controller組件,如需使用備份中心監(jiān)控功能,請(qǐng)先升級(jí)集群版本。具體操作,請(qǐng)參見手動(dòng)升級(jí)集群。
集群已開啟阿里云Prometheus監(jiān)控。
計(jì)費(fèi)說明
migrate-controller備份服務(wù)組件會(huì)自動(dòng)將監(jiān)控指標(biāo)發(fā)送至阿里云Prometheus服務(wù),這些指標(biāo)將被視為自定義指標(biāo)。使用自定義指標(biāo)會(huì)產(chǎn)生額外的費(fèi)用。
為避免產(chǎn)生額外的費(fèi)用,建議在啟用此功能前,仔細(xì)閱讀計(jì)費(fèi)概述,了解自定義指標(biāo)的收費(fèi)策略。費(fèi)用將根據(jù)您的集群規(guī)模和應(yīng)用數(shù)量等因素產(chǎn)生變動(dòng)。您可以通過資源消耗統(tǒng)計(jì),監(jiān)控和管理您的資源使用情況。
將備份中心接入Prometheus
您可以通過阿里云Prometheus監(jiān)控當(dāng)前集群關(guān)聯(lián)的備份倉庫及備份任務(wù)的狀態(tài)。
登錄ARMS控制臺(tái)。
在左側(cè)導(dǎo)航欄,單擊接入中心,在基礎(chǔ)設(shè)施頁簽,搜索備份中心或Ack Backupcenter,然后單擊選中Backupcenter進(jìn)入接入界面。
在開始接入頁簽,選擇已經(jīng)安裝了備份中心的目標(biāo)容器服務(wù)集群,然后單擊確定。
接入狀態(tài)檢查完成后,您可以在容器服務(wù)控制臺(tái)或ARMS控制臺(tái)查看大盤數(shù)據(jù)。
查看備份中心監(jiān)控大盤
大盤入口
登錄容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在Prometheus監(jiān)控頁面,單擊其他頁簽,在ACK BackupCenter下查看備份中心監(jiān)控大盤。
通過ARMS控制臺(tái)查看監(jiān)控大盤的相關(guān)操作,請(qǐng)參見開箱即用大盤。
大盤介紹
備份中心監(jiān)控大盤包含備份倉庫監(jiān)控信息(Backup Locations)、備份任務(wù)監(jiān)控信息(Backup Operation Status)以及工作組件狀態(tài)監(jiān)控信息(Addon Status)三部分。
Backup Locations
該大盤用于監(jiān)控備份倉庫的基本信息,展示了集群當(dāng)前關(guān)聯(lián)的備份倉庫詳情(Backuplocation Detail)。
備份倉庫用于存放創(chuàng)建的備份,聲明了集群備份中心與OSS Bucket的關(guān)聯(lián)信息。當(dāng)對(duì)應(yīng)備份倉庫狀態(tài)為Available時(shí),才能通過備份中心完成備份、制作快照、恢復(fù)等任務(wù)。Backuplocation Detail的監(jiān)控指標(biāo)如下:
監(jiān)控指標(biāo) | 說明 |
Backuplocation | 備份倉庫名稱。 |
OSS Bucket | 備份倉庫關(guān)聯(lián)的OSS Bucket名稱。 |
Region | OSS Bucket所在地域,例如cn-hangzhou。 |
NetworkPolicy | 備份倉庫與OSS Bucket間的網(wǎng)絡(luò)連通方式,取值:
|
Phase | 備份倉庫的狀態(tài),取值:
|
Backup Operation Status
該大盤用于監(jiān)控備份任務(wù)的狀態(tài),包含備份任務(wù)總覽(Backup Overview)和失敗狀態(tài)的備份任務(wù)詳情(Failed Backup Detail)兩部分。
Backup Overview:通過柱狀圖展示了該集群的各個(gè)備份倉庫中創(chuàng)建備份任務(wù)的數(shù)量,其中,備份任務(wù)的來源為通過立即備份創(chuàng)建、或通過備份計(jì)劃定時(shí)創(chuàng)建的單個(gè)備份。X軸為備份倉庫名稱,Y軸為備份任務(wù)數(shù)量。Backup Overview的監(jiān)控指標(biāo)如下:
監(jiān)控指標(biāo)
說明
Backup(Failed)
通過紅色柱狀圖展示失敗狀態(tài)的備份任務(wù)數(shù)量。
Backup(Completed)
通過綠色柱狀圖展示成功狀態(tài)的備份任務(wù)數(shù)量。
Failed Backup Detail:通過表格展示了該集群中處于失敗狀態(tài)的備份任務(wù)的基本信息。Failed Backup Detail的監(jiān)控指標(biāo)如下:
監(jiān)控指標(biāo)
說明
Backup
備份任務(wù)名稱。
Backuplocation
備份任務(wù)所處的備份倉庫名稱。
BackupType
備份任務(wù)的備份類型,取值:
AppBackup:僅備份應(yīng)用,即YAML備份。
AppAndPvBackup:備份應(yīng)用及數(shù)據(jù),即YAML和PV內(nèi)數(shù)據(jù)備份。
DataType
數(shù)據(jù)備份的類型,取值:
snapshot:備份的PV為純?cè)票P存儲(chǔ)。
hbr:備份的PV為HostPath本地存儲(chǔ)、NAS或OSS等類型的文件存儲(chǔ)。
all:備份的PV同時(shí)包含云盤存儲(chǔ)及文件系統(tǒng)存儲(chǔ)。
none:開啟了數(shù)據(jù)備份,但所選命名空間下未使用PV存儲(chǔ)。
FromSchedule
備份任務(wù)來源。
空值:由立即備份創(chuàng)建。
非空值:由備份計(jì)劃定時(shí)創(chuàng)建,取值為對(duì)應(yīng)備份計(jì)劃名稱。
Addon Status
該大盤用于監(jiān)控工作組件csdr-controller和csdr-velero的工作狀態(tài)。您需要確保這些工作組件的正常運(yùn)行,才能通過備份中心進(jìn)行備份、制作快照、恢復(fù)等操作。
當(dāng)備份中心組件migrate-controller安裝完成后會(huì)對(duì)集群進(jìn)行預(yù)檢查,檢查完成后,將在備份中心工作的命名空間csdr下部署工作組件csdr-controller和csdr-velero。
備份中心的工作組件通過Deployment(Pods)形式展示,包含csdr-controller與csdr-velero兩個(gè)組件。Addon Status的監(jiān)控指標(biāo)如下:
監(jiān)控指標(biāo) | 說明 |
Age | 工作組件的創(chuàng)建時(shí)長(zhǎng)。 |
Status | 工作組件的狀態(tài),取值:
|
Pods | 工作組件Pods詳情。 |
Memory Request | 為工作組件預(yù)留的內(nèi)存資源額度。 |
CPU Request | 為工作組件預(yù)留的CPU資源額度。 |
Memory Limit | 工作組件所需內(nèi)存的資源上限。 |
CPU Limit | 工作組件所需CPU的資源上限。 |
配置備份任務(wù)失敗告警
備份任務(wù)失敗告警屬于基于事件的告警,與備份任務(wù)對(duì)應(yīng)的CRD為csdr.alibabacloud.com資源組下的applicationbackups,當(dāng)備份任務(wù)失敗時(shí),同名資源將創(chuàng)建Warn事件。
查詢備份任務(wù)失敗的Warn事件
執(zhí)行以下命令,查詢失敗的備份任務(wù)的Warn事件。
kubectl -ncsdr get events --field-selector='type!=Normal'
預(yù)期輸出:
VaultError: backup vault is unavailable: oss: service returned error: StatusCode=403, ErrorCode=AccessDenied, ErrorMessage="The bucket you access does not belong to you.", RequestId=668516BC35F915******
其中,VaultError為備份任務(wù)失敗的原因。
配置集群重要事件報(bào)警規(guī)則感知備份任務(wù)失敗Warn事件
通過集群報(bào)警配置功能進(jìn)行配置。具體操作,請(qǐng)參見容器服務(wù)報(bào)警管理。
如何定位監(jiān)控?cái)?shù)據(jù)異常問題
查詢工作組件不存在或狀態(tài)異常(UnHealth)的原因
安裝備份中心后,工作組件不存在或反復(fù)部署。
執(zhí)行以下命令,查詢migrate-controller組件運(yùn)行狀態(tài)。
kubectl -n kube-system get pod -l app=migrate-controller
若組件處于
CrashLoopBackOff
狀態(tài)或反復(fù)重啟,即集群預(yù)檢查不通過,通常由于集群使用了Flexvolume存儲(chǔ)插件或注冊(cè)集群未配置相關(guān)權(quán)限,相關(guān)排查請(qǐng)參見備份中心FAQ及注冊(cè)集群。工作組件狀態(tài)長(zhǎng)期為UnHealth,Pods儀表盤無數(shù)據(jù)或狀態(tài)異常。
工作組件的Pod無法正常啟動(dòng),相關(guān)排查請(qǐng)參見Pod異常問題排查。
工作組件狀態(tài)為Health,但Pods儀表盤Restarts次數(shù)不為0。
csdr-velero的內(nèi)存使用情況在備份期間將出現(xiàn)峰值,容易發(fā)生OOM(Out of Memory)問題,導(dǎo)致組件異常退出重啟,您可以提高內(nèi)存資源使用上限來解決。
說明備份過程中,若工作組件的Pod異常退出,將導(dǎo)致任務(wù)失敗或長(zhǎng)期處于InProgress狀態(tài)。
查詢備份倉庫狀態(tài)異常(Unavailable)的原因
執(zhí)行以下命令,查詢錯(cuò)誤Message。
其中,<unavailable-backuplocation-name>
為異常狀態(tài)備份倉庫的名稱。
kubectl -ncsdr describe backuplocation <unavailabe-backuplocation-name>
關(guān)于備份倉庫異常狀態(tài)處理,請(qǐng)參見備份中心FAQ。
查詢備份任務(wù)失?。‵ailed)的原因
命令行方式查詢
執(zhí)行以下命令,查詢錯(cuò)誤Message。
其中,<failed-applicationbackup-name>
為失敗的備份任務(wù)的名稱。
kubectl -ncsdr describe applicationbackup <failed-applicationbackup-name>
關(guān)于備份任務(wù)失敗處理,請(qǐng)參見備份中心FAQ。
控制臺(tái)方式查詢
登錄容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在應(yīng)用備份頁面,單擊備份記錄頁簽,定位對(duì)應(yīng)的備份任務(wù),單擊狀態(tài)列的Failed查看錯(cuò)誤Message。