全部產品
Search
文件中心

Simple Log Service:接入Kubernetes資源監控資料

更新時間:Jun 30, 2024

Kubernetes中提供多項監控指標,您可以將Kubernetes中的監控指標接入到全棧可觀測應用中,進行可視化展示。另外,基於Log Service與龍蜥社區合作共建的無侵入監控能力,您還可以直觀地分析整個Kubernetes的資料流向與瓶頸問題,輕鬆應對複雜的雲原生環境。

前提條件

已建立全棧可觀測執行個體。具體操作,請參見建立執行個體

使用限制

如果開啟資料面監控,則要求主機為x86_64 Linux核心版本為4.19及以上版本或3.1.0版本(僅限centos7.6~7.9作業系統)。您可以通過uname -r命令查看核心資訊。

步驟一:建立Logtail採集配置

  1. 登入Log Service控制台

  2. 日誌應用地區的智能營運頁簽下,單擊全棧可觀測

  3. SLS全棧可觀測頁面,單擊目標執行個體。

  4. 在左側導覽列中,單擊全棧監控

    首次在該執行個體中使用全棧監控時,還需單擊立即開啟

  5. 在左側導覽列中,單擊資料接入,然後在資料接入配置頁面,找到Kubernetes監控地區的資源監控

    首次建立目標監控項的接入配置時,開啟建立開關,可進入配置頁面。如果您已建立過接入配置,則單擊建立表徵圖,可進入配置頁面。

  6. 建立機器組:

    如已經安裝,請跳過此步驟。

  7. 下載Logtail CRD 採集配置產生工具:

    操作方式

    描述

    叢集外安裝

    叢集外部安裝要求登入賬戶存在~/.kube/config設定檔(可以使用kubectl命令),且設定檔具有目的地組群操作許可權。

    叢集內安裝

    容器內安裝基於已安裝組件alibaba-log-controller許可權操作CRD 建立,適用於無~/.kube/config設定檔或網路問題無法串連時進行操作

    叢集外安裝

    1. 登入叢集,下載模板工具。

      • 中國地區

        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
    2. 安裝模板工具,安裝成功後會在當前檔案夾產生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
    3. 執行./sls-crd-tool list命令驗證工具是否安裝成功,當存在傳回值時,說明工具安裝成功。

    容器內安裝

    1. 登入叢集,進入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 ~
    2. 下載模板工具。

      • 如叢集內可以下載公網資源,操作方法如下:

        • 中國地區

          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上傳等功能將模板工具傳輸至上述容器。

    3. 安裝模板工具,安裝成功後會在當前檔案夾產生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
    4. 執行./sls-crd-tool list命令驗證工具是否安裝成功,當存在傳回值時,說明工具安裝成功。

  8. 使用Logtail CRD採集配置產生工具產生採集配置.

    1. 查看模板定義:

      ./sls-crd-tool  get k8sMonitor
    2. 將當前執行個體ID替換REQUIRED參數,使用以下命令預覽參數:

      ./sls-crd-tool  apply -f template-k8sMonitor.yaml --create=false
    3. 確認project參數是否為當前執行個體所綁定的project,如正確,請使用以下命令部署模板採集檔案:

      ./sls-crd-tool  apply -f template-k8sMonitor.yaml
    4. 返回資料接入配置介面,如下圖,安裝成功,資源監控中的配置數加一,安裝失敗則不加一。

      image.png

部署組件說明

用於採集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監控資料後,全棧可觀測應用會自動產生專屬儀錶盤。您可以通過儀錶盤分析監控資料。更多資訊,請參見查看儀錶盤