通過可觀測監控 Prometheus 版提供的自定義鑒權方式,您可以對多個不同阿里云賬號下的Prometheus實例進行數據的聚合,實現對跨賬號下的Prometheus實例指標數據的統一監控、統一Grafana展示和統一告警管理。
背景信息
企業可能會設立多個阿里云賬號(主賬號),這給運維團隊帶來了維護的復雜性。阿里云的可觀測監控 Prometheus 版提供了全局聚合實例功能,能將不同賬號下的監控數據集中管理。通過這一能力,可以幫助您實現對多賬號的統一查詢和告警管理,方便您對多個賬號進行統一監控運維。
前提條件
已存在阿里云賬號A(主賬號)和阿里云賬號B(主賬號),并且已開通賬號A和賬號B的可觀測監控 Prometheus 版。具體操作,請參見計費說明。
賬號A和賬號B的監控數據都已經接入到對應阿里云賬號的Prometheus實例中。具體操作,請參見通過接入中心接入數據。
使用說明
本文將以兩個阿里云賬號(賬號A和賬號B)為例,介紹如何通過Prometheus全局聚合實例功能將賬號B的監控數據集成到賬號A,實現在賬號A中對兩個賬號的監控數據進行一站式查詢和告警管理。
步驟一:創建全局聚合實例
可觀測監控 Prometheus 版跨賬號聚合能力支持兩種方式:
方式一:基于資源管理 - 資源目錄的方式聚合
該方式的前提條件是聚合賬號和被聚合賬號都完成了實名認證,且實名認證的實體是一致的。具體操作,請參見企業實名認證和個體工商戶認證。
已通過資源目錄搭建了企業的多賬號體系結構。資源目錄更多信息,請參見資源目錄概述。
通過以下任意一種方式設置可信服務的委派管理員角色。
方式一
- 使用管理賬號登錄資源管理控制臺。
- 在左側導航欄,選擇 。
- 在可信服務頁面,單擊目標可信服務操作列的管理。
在委派管理員賬號區域,單擊添加,將創建的Prometheus全局聚合實例的云賬號設置為委派管理員。
說明本示例的賬號為阿里云賬號A。
- 單擊確定。添加成功后,使用該委派管理員賬號訪問對應可信服務的多賬號管理模塊,即可進行資源目錄組織范圍內的管理操作。
方式二
使用資源目錄管理員賬號或擁有管理員權限的RAM角色調用OpenAPI,為想要創建跨賬號全局聚合實例的成員設置可信服務的委派管理員角色,按照下表說明配置參數:
參數
說明
服務地址
中國內地:選擇華東2(上海)。
其他地域:選擇新加坡。
AccountId
填寫需要創建跨賬號全局聚合實例的成員用戶ID。
ServicePrincipal
填寫prometheus.aliyuncs.com。
單擊發起調用。
聚合數據。
使用阿里云賬號A登錄Prometheus控制臺
在左側導航欄單擊實例列表,進入可觀測監控 Prometheus 版的實例列表頁面。
單擊新建Prometheus實例,在新建實例頁面,按照下表提示完成配置參數,然后單擊立即創建。
參數
說明
實例類型
選擇全局聚合實例。
實例名稱
自定義全局聚合實例名稱。
所屬資源組
選擇所屬的資源組。
標簽
標簽由區分大小寫的鍵值對組成,您最多可以設置20個標簽。
訪問Endpoint
Endpoint是請求的訪問點、告警的配置地域。建議您選擇實例數量最多的地域作為訪問點,若您選擇其他地域可能會影響訪問速度和系統穩定性。
選擇要聚合的實例
選擇其他賬號(資源目錄),選擇資源目錄成員賬號,添加目標Prometheus實例。
說明選擇其他賬號(資源目錄)后,可觀測監控 Prometheus 版會將資源目錄中的可信服務啟用狀態設置為已啟用。
您可以選擇不同地域(Region)下的實例名稱以實現跨地域的實例聚合,不過在您選擇實例之前需要在訪問Endpoint區域指定訪問的Endpoint。
說明您可以單擊已創建的全局聚合實例右側操作列的編輯,編輯已創建的全局聚合實例信息。請勿隨意變更Endpoint信息,否則將導致在原Endpoint下配置的告警規則失效,因此不建議您隨意變更Endpoint。
方式二:基于RAM角色自定義鑒權進行聚合
使用阿里云賬號B創建角色。
使用阿里云賬號B登錄RAM控制臺。
在左側導航欄,選擇 。
在角色頁面,單擊創建角色。
在創建角色頁面,選擇可信實體類型為阿里云賬號,然后單擊下一步。
在配置角色步驟,設置角色名稱為
AliyunPrometheusQueryRole
,然后選擇信任的賬號為其他云賬號,并輸入阿里云賬號A的信息,然后單擊完成。單擊已創建的角色,然后單擊信任策略頁簽,單擊編輯信任策略,在彈出的面板修改信任策略,為阿里云賬號A授信。
說明這里為數組形式,即您可以為多個賬號同時授信。
為
AliyunPrometheusQueryRole
角色授予AliyunRAMReadOnlyAccess
和AliyunARMSReadOnlyAccess
權限。在左側導航欄選擇身份管理 > 角色,然后單擊目標角色操作列的新增授權。
在新增授權面板的權限策略區域,在搜索框中輸入
AliyunRAMReadOnlyAccess
和AliyunARMSReadOnlyAccess
權限,將其選中并添加在右側區域,然后單擊確認新增授權。
(可選)為阿里云賬號A創建RAM用戶。
說明如果您的聚合賬號為阿里云賬號A,您需要為阿里云賬號A創建RAM用戶來聚合阿里云賬號B,因此需要執行該步驟。
如果您的聚合賬號已經是RAM用戶,則可以直接連接聚合阿里云賬號B,因此無需再次創建RAM用戶,可以跳過該步驟。
使用阿里云賬號A登錄RAM控制臺。
在左側導航欄,選擇 。
在用戶頁面,單擊創建用戶。
在創建用戶頁面的用戶賬號信息區域,設置用戶基本信息。
登錄名稱:可包含英文字母、數字、半角句號(.)、短劃線(-)和下劃線(_),最多64個字符。
顯示名稱:最多包含128個字符或漢字。
標簽:單擊,然后輸入標簽鍵和標簽值。為RAM用戶綁定標簽,便于后續基于標簽的用戶管理。
說明單擊添加用戶,可以批量創建多個RAM用戶。
在訪問方式區域,選擇訪問方式,然后設置對應參數。
為了賬號安全,建議您只選擇以下訪問方式中的一種,將人員用戶和應用程序用戶分離,避免混用。
控制臺訪問
如果RAM用戶代表人員,建議啟用控制臺訪問,使用用戶名和登錄密碼訪問阿里云。您需要設置以下參數:
控制臺登錄密碼:選擇自動生成密碼或者自定義密碼。自定義登錄密碼時,密碼必須滿足密碼復雜度規則。更多信息,請參見設置RAM用戶密碼強度。
密碼重置策略:選擇RAM用戶在下次登錄時是否需要重置密碼。
多因素認證(MFA)策略:選擇是否為當前RAM用戶啟用MFA。啟用MFA后,主賬號還需要為RAM用戶綁定MFA設備或RAM用戶自行綁定MFA設備。更多信息,請參見為RAM用戶綁定MFA設備。
OpenAPI調用訪問
如果RAM用戶代表應用程序,建議啟用OpenAPI調用訪問,使用訪問密鑰(AccessKey)訪問阿里云。啟用后,系統會自動為RAM用戶生成一個AccessKey ID和AccessKey Secret。更多信息,請參見創建AccessKey。
重要RAM用戶的AccessKey Secret只在創建時顯示,不支持查看,請妥善保管。
單擊確定。
根據界面提示,完成安全驗證。
阿里云賬號A的RAM用戶授權。
單擊目標RAM用戶名稱,然后單擊權限管理頁簽。
單擊新增授權,在彈出的面板的權限策略區域通過在搜索框輸入
AliyunSTSAssumeRoleAccess
和AliyunARMSFullAccess
權限,將其選中并添加在右側區域,然后單擊確認新增授權。
聚合Prometheus實例數據。
使用阿里云賬號A的RAM用戶登錄Prometheus控制臺。
在左側導航欄,單擊實例管理。
單擊目標全局聚合實例操作列的編輯,然后在STEP3區域選擇要聚合的實例為其他賬號(自定義鑒權)。
在阿里云賬號右側搜索框中搜索阿里云賬號B,單擊確認,系統會過濾出阿里云賬號B下的所有Prometheus實例,您可以選中對應的Prometheus實例進行聚合,然后單擊編輯聚合實例。
說明只有進行過授權的RAM用戶可以編輯保存自定義授權的跨賬號監控實例,阿里云賬號暫無相關權限。
步驟二:查詢跨賬號的全局聚合實例數據
通過阿里云賬號A的RAM用戶下的全局聚合實例聚合阿里云賬號B的Prometheus實例后,您可以通過預置的Grafana大盤查看聚合后的Prometheus實例的性能指標數據。
在實例列表頁面,單擊目標Prometheus實例名稱,然后在左側導航欄單擊大盤列表。
步驟三:為跨賬號的全局聚合實例創建告警規則
在實例列表頁面,單擊目標Prometheus實例名稱,然后在左側導航欄單擊告警規則。
在Prometheus告警規則頁面,單擊創建Prometheus告警規則,按照界面提示信息配置告警規則的基本信息。具體操作,請參見Prometheus告警規則。
說明在創建Prometheus告警規則頁面的數據預覽區域,全局聚合實例提供了unique_cluster_id(實例的唯一標識)和unique_cluster_name(實例名稱),以便您在追蹤告警對象時,能快速定位到對應觸發告警閾值的實例。
相關操作
編輯全局聚合實例
在實例列表頁面,您可以單擊已聚合的全局聚合實例右側操作列的編輯,編輯聚合的全局聚合實例信息。若您重新修改了Endpoint信息 ,會導致在原Endpoint下配置的告警規則失效,因此不建議您隨意變更Endpoint。
卸載全局聚合實例
若您暫不需要監控全局聚合實例,您可以卸載相關插件。
在實例列表頁面,單擊目標Prometheus實例操作列的卸載,然后在彈出的對話框中單擊確認,即可卸載成功。卸載完成后,實例列表頁面不再顯示該Prometheus實例。
常見問題
Prometheus全局聚合實例需要額外收費嗎?
全局聚合實例目前處于公測階段,暫不收費。
Prometheus全局聚合實例是將被聚合實例數據匯總到一個實例嗎?
被聚合實例不會匯總寫入到全局聚合實例,全局聚合實例只是在查詢時將查詢下發到被聚合實例。