Kubernetes中提供多項監控指標,您可以將Kubernetes中的監控指標接入到全棧可觀測應用中,進行可視化展示。另外,基於Log Service與龍蜥社區合作共建的無侵入監控能力,您還可以直觀地分析整個Kubernetes的資料流向與瓶頸問題,輕鬆應對複雜的雲原生環境。
前提條件
已建立全棧可觀測執行個體。具體操作,請參見建立執行個體。
使用限制
如果開啟資料面監控,則要求主機為x86_64 Linux核心版本為4.19及以上版本或3.1.0版本(僅限centos7.6~7.9作業系統)。您可以通過uname -r
命令查看核心資訊。
步驟一:建立Logtail採集配置
在日誌應用地區的智能營運頁簽下,單擊全棧可觀測。
在SLS全棧可觀測頁面,單擊目標執行個體。
在左側導覽列中,單擊全棧監控。
首次在該執行個體中使用全棧監控時,還需單擊立即開啟。
在左側導覽列中,單擊資料接入,然後在資料接入配置頁面,找到Kubernetes監控地區的資源監控。
首次建立目標監控項的接入配置時,開啟建立開關,可進入配置頁面。如果您已建立過接入配置,則單擊表徵圖,可進入配置頁面。
建立機器組:
如已經安裝,請跳過此步驟。
阿里雲ack叢集建立機器組,請參見建立IP地址機器組。
自建K8s叢集建立機器組,請參見建立使用者自訂標識機器組。
下載Logtail CRD 採集配置產生工具:
操作方式
描述
叢集外安裝
叢集外部安裝要求登入賬戶存在
~/.kube/config
設定檔(可以使用kubectl命令),且設定檔具有目的地組群操作許可權。叢集內安裝
容器內安裝基於已安裝組件
alibaba-log-controller
許可權操作CRD 建立,適用於無~/.kube/config
設定檔或網路問題無法串連時進行操作。叢集外安裝
登入叢集,下載模板工具。
中國地區
curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
海外地區
curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
安裝模板工具,安裝成功後會在當前檔案夾產生
sls-crd-tool
工具。tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh && sh -x /tmp/crd-tool/install.sh
執行
./sls-crd-tool list
命令驗證工具是否安裝成功,當存在傳回值時,說明工具安裝成功。
容器內安裝
登入叢集,進入
alibaba-log-controller
容器。kubectl get pods -n kube-system -o wide |grep alibaba-log-controller | awk -F ' ' '{print $1}' kubectl exec -it {pod} -n kube-system bash cd ~
下載模板工具。
如叢集內可以下載公網資源,操作方法如下:
中國地區
curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
海外地區
curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
如叢集內無法下載公網資源,可以叢集外下載,使用
kubectl cp <source> <destination>
或者ACK上傳等功能將模板工具傳輸至上述容器。
安裝模板工具,安裝成功後會在當前檔案夾產生
sls-crd-tool
工具。tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh && sh -x /tmp/crd-tool/install.sh
執行
./sls-crd-tool list
命令驗證工具是否安裝成功,當存在傳回值時,說明工具安裝成功。
使用Logtail CRD採集配置產生工具產生採集配置.
查看模板定義:
./sls-crd-tool get k8sMonitor
將當前執行個體ID替換REQUIRED參數,使用以下命令預覽參數:
./sls-crd-tool apply -f template-k8sMonitor.yaml --create=false
確認project參數是否為當前執行個體所綁定的project,如正確,請使用以下命令部署模板採集檔案:
./sls-crd-tool apply -f template-k8sMonitor.yaml
返回資料接入配置介面,如下圖,安裝成功,資源監控中的配置數加一,安裝失敗則不加一。
部署組件說明
用於採集Kubernetes監控資料的Kubernetes資源全部建立在sls-monitoring命名空間中,主要包括1個Deployment、1個Statefulset、1個DaemonSet和7個AliyunLogConfig的CRD。
資源類型 | 資源名稱 | 說明 |
AliyunLogConfig | {instance-id}-k8s-metas | 用於採集Kubernetes的配置資料,例如Deployment、Pod、Ingress、Service的名稱、Namespace、Label、Image、Limit等配置資訊。預設採集到名為{instance}-metas的Logstore中。 |
{instance-id}-k8s-metrics | 用於採集Kubernetes的指標資料,例如Pod、容器的CPU、記憶體、網路等。預設採集到名為{instance}-k8s-metrics的Metricstore中。 | |
{instance-id}-k8s-metrics-kubelet | 用於採集Kubernetes Kubelet的指標資料。預設採集到名為{instance}-k8s-metrics的Metricstore中。 | |
{instance-id}-node-metas | 用於採集Kubernetes節點的配置資料,例如CPU型號、記憶體大小等。預設採集到名為{instance}-metas的Logstore中。 | |
{instance-id}-node-metrics | 用於採集Kubernetes節點的指標資料,例如CPU使用率、記憶體利用率等。預設採集到名為{instance}-node-metrics的Metricstore中。 |
後續步驟
接入Kubernetes監控資料後,全棧可觀測應用會自動產生專屬儀錶盤。您可以通過儀錶盤分析監控資料。更多資訊,請參見查看儀錶盤。