阿里雲應用監控 eBPF 版是一套針對Kubernetes叢集開發的一站式可觀測性產品。安裝應用監控 eBPF 版組件後,即可查看基於Kubernetes叢集下的指標、應用鏈路、日誌和事件。
前提條件
已建立Container ServiceKubernetes叢集。具體操作,請參見建立ACK託管叢集。
已開通ARMS。具體操作,請參見開通ARMS。
已確認當前環境支援應用監控 eBPF 版運行。更多資訊,請參見應用監控 eBPF 版運行環境要求和限制。
背景資訊
Kubernetes中的業務是運行在節點群組成的資源集區上,使得定位Pod的調用鏈路以及拓撲關係非常複雜。那麼如何以可視化的方式監控Kubernetes中的負載狀態,以及更好地可視化叢集中流量的吞吐是非常重要的問題。應用監控 eBPF 版通過eBPF無侵入地擷取容器RED效能資料,快速發現目標容器和關聯Pod存在的效能問題。同時應用監控 eBPF 版會自動關聯對應的Service和Controller Workload(Deployment、StatefulSet和Daemonset)資源,進一步縮短髮現問題的時間。更多資訊,請參見什麼是阿里雲應用監控 eBPF 版。
接入說明
為Kubernetes叢集安裝以下監控組件即可將叢集接入應用監控 eBPF 版:
Prometheus監控組件:ack-arms-prometheus
說明應用監控 eBPF 版的指標類資料依賴Prometheus監控,因此您需要先安裝Prometheus監控組件。
應用監控 eBPF 版組件:ack-arms-cmonitor
安裝Kubernetes組件ack-arms-cmonitor前,需先檢查目的地組群是否存在ARMS Addon Token,否則會出現許可權不足的報錯。若存在ARMS Addon Token,ARMS會進行免密授權,組件安裝完成後,即可使用應用監控 eBPF 版;若不存在ARMS Addon Token,則需要手動添加ARMS和鏈路追蹤權限原則。
查看ARMS Addon Token和手動添加權限原則的方法如下:
查看叢集是否存在ARMS Addon Token
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在保密字典頁面頂部選擇命名空間為kube-system,查看addon.arms.token是否存在。
手動添加ARMS和鏈路追蹤權限原則
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇叢集資訊。
在叢集資訊頁面,單擊基本資料頁簽,然後單擊Worker RAM 角色右側連結。
在角色頁面的許可權管理頁簽下,單擊新增授權。
在新增授權面板的權限原則地區,通過關鍵字搜尋以下兩個權限原則,並單擊權限原則將其添加至右側的已選擇列表中,然後根據頁面提示完成新增授權。
AliyunTracingAnalysisFullAccess:鏈路追蹤的完整許可權。
AliyunARMSFullAccess:ARMS的完整許可權。
說明ACK託管叢集:對於部分ACK託管叢集,可能存在沒有ARMS Addon Token的情況,因此建議首先檢查ARMS Addon Token是否存在。若不存在,仍需進行手動授權。
ACK專有版叢集:預設不支援ARMS Addon Token,需進行手動授權。
ACK註冊叢集:預設不支援ARMS Addon Token,需進行手動授權。由於註冊叢集沒有Worker RAM角色,無法通過Worker RAM角色手動添加ARMS和連結追蹤的權限原則,因此,註冊叢集安裝應用監控 eBPF 版組件ack-arms-cmonitor的操作,請參見註冊叢集安裝Kubernetes監控組件。
接入應用至應用監控 eBPF 版
手動接入
為已有應用安裝組件
如果您的應用已安裝過應用監控 eBPF 版組件,請在Container Service管理主控台目的地組群下的 頁面確認ack-arms-cmonitor組件版本是否為4.0.0或以上,如果不是,請單擊升級將組件升級至最新版本。
登入Container Service管理主控台,在叢集列表頁面單擊目的地組群名稱。
在左側導覽列,選擇營運管理 > 叢集拓撲。
在叢集拓撲頁面,單擊開始安裝。ACK控制台將會為您自動安裝應用監控 eBPF 版組件。
說明命名空間預設為arms-prom。
如果是專有版叢集,請更新AK/SK配置。
在左側導覽列,選擇
。在arms-cmonitor右側單擊更新,修改
accessKey
和accessKeySecret
為阿里雲帳號的AccessKey ID和AccessKey Secret。擷取方法,請參見擷取AccessKey。重要請確認對應的阿里雲帳號已包含AliyunARMSFullAccess和AliyunSTSAssumeRoleAccess許可權。
單擊確定。
建立應用時安裝組件
登入Container Service管理主控台,在叢集列表頁面上的目的地組群右側操作列單擊應用管理。
在無狀態頁面右上方單擊使用YAML建立資源。
選擇樣本模板,並在模板(YAML格式)中將以下
labels
添加到spec.template.metadata層級下。labels: armseBPFAutoEnable: "on" armseBPFCreateAppName: "<your-deployment-name>" //請將<your-deployment-name>替換為您的應用程式名稱。
建立一個無狀態(Deployment)應用並開啟ARMS應用監控 eBPF 版的完整YAML樣本模板如下:
自動接入
登入ARMS控制台。
在左側導覽列單擊接入中心,然後在服務端應用地區單擊應用監控 eBPF 版卡片。
在開始接入頁簽選擇應用所在的Container Service叢集。
選擇應用對應的工作負載名稱,然後單擊確定。
說明您可以同時選擇多個應用。
為應用配置對應的應用程式名稱,然後單擊執行。
組件安裝完成後,重啟應用。
您可以在接入管理頁面查看所有已接入ARMS的應用和組件。
在接入管理頁面單擊叢集名稱,可以查看該叢集的基本資料、已接入組件、採集指標,並完成指標探索、探針設定等操作。