日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

基于阿里云Prometheus監控配置監控告警并查看性能指標

您可以在ACK集群中快速啟用阿里云Prometheus,以實時監控集群和容器的健康狀況,并查看可視化的Grafana監控數據大盤。您還可按需配置聯系人接收監控告警、配置Prometheus抓取自定義的監控指標等。

阿里云Prometheus監控介紹

阿里云Prometheus監控全面對接開源Prometheus生態,支持類型豐富的組件監控,提供多種開箱即用的預置監控大盤,且提供全面托管的Prometheus服務。借助阿里云Prometheus監控,您無需自行搭建Prometheus監控系統,無需關心底層數據存儲、數據展示、系統運維等問題。

阿里云Prometheus服務提供的容器監控能力分為基礎版和Pro版。相較于容器集群監控基礎版容器集群監控Pro版提供豐富的Grafana監控大盤、提供容器服務各組件的默認告警規則、額外提供Remote Write和數據投遞能力(通過EventBridge)等。關于容器集群監控Pro版的更多優勢,請參見基礎版與Pro版區別

相關計費

  • 阿里云Prometheus基礎指標費用

    啟用阿里云Prometheus監控功能后,ACK將采集集群中的容器監控指標。默認采集的指標均為阿里云Prometheus基礎指標,在默認情況下不會產生費用。關于阿里云Prometheus基礎指標的說明,請參見指標說明

    默認采集的基礎指標

    啟用功能后自動上報的基礎指標

    • 容器基礎資源監控kubelet

    • 集群應用狀態監控kube-state-metrics

    • 集群節點基礎資源監控node-exporter

    • 集群節點GPU監控ack-gpu-exporter

    • 托管版集群控制面組件監控指標API Server、etcd、kube-scheduler、kube-controller-manager、cloud-controller-manager

    • 集群CoreDNS基礎監控指標

    • 集群Ingress-Controller基礎監控指標

    重要

    如您調整了指標存儲時長,或上報了自定義指標,將會產生額外計費。關于如何調整指標的存儲時長,請參見如何調整指標的存儲時長?;關于阿里云Prometheus的計費說明,請參見計費說明。

  • 阿里云Grafana費用

    啟用阿里云Prometheus監控功能后,默認使用免費的共享版Grafana展示上報的監控數據。關于Grafana的計費說明,請參見計費規則。

步驟一:開啟阿里云Prometheus監控

創建集群時開啟

  • ACK集群Pro版

    在創建集群的組件配置頁面,選擇容器集群監控Pro版容器集群監控基礎版。更多信息,請參見創建ACK托管集群。

    image

  • 其他集群類型或規格:

    在創建集群的組件配置頁面,選中使用阿里云可觀測監控 Prometheus 版。更多信息,請參見創建ACK托管集群。

    image.png

    創建集群時,系統將默認勾選使用阿里云可觀測監控 Prometheus 版。集群創建完成后,系統將自動配置阿里云Prometheus監控服務。

在已有集群中開啟

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > Prometheus 監控。

  3. Prometheus 監控頁面,按照頁面提示完成相關組件的安裝和監控大盤的檢查。

    控制臺會自動安裝組件、檢查監控大盤。安裝完成后,您可以單擊各個頁簽查看相應監控數據。

ACK專有集群需按照以下步驟完成授權

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇集群信息。

  3. 基本信息頁簽下,單擊Worker RAM 角色右側的KubernetesWorkerRole-***,然后在RAM角色頁面的權限管理頁簽,單擊權限策略列下的k8sWorkerRole****。

  4. 在權限策略詳情頁面的策略內容頁簽下,單擊修改策略內容。

  5. 在腳本編輯框中的Statement字段中增加以下授權規則,修改完成后單擊編輯基本信息,然后單擊確定。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "arms:Describe*",
                    "arms:List*",
                    "arms:Get*",
                    "arms:Search*",
                    "arms:Check*",
                    "arms:Query*",
                    "arms:ListEnvironments",
                    "arms:DescribeAddonRelease",
                    "arms:InstallAddon",
                    "arms:DeleteAddonRelease",
                    "arms:ListEnvironmentDashboards",
                    "arms:ListAddonReleases",
                    "arms:CreateEnvironment",
                    "arms:UpdateEnvironment",
                    "arms:InitEnvironment",
                    "arms:DescribeEnvironment",
                    "arms:InstallEnvironmentFeature",
                    "arms:ListEnvironmentFeatures"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
    
    說明

    多個策略內容需要用英文半角逗號(,)分隔。

步驟二:查看阿里云Prometheus Grafana大盤

容器服務管理控制臺Prometheus 監控頁面,切換頁簽選擇需要查看的Grafana監控大盤,獲取相應的監控數據。

(可選)步驟三:配置Prometheus監控告警

為監控任務創建告警可在滿足告警條件時通過郵件、短信、釘釘等渠道實時告警,主動幫助您發現異常。告警規則被觸發時,系統會向您指定的告警通知對象發送通知。

1、創建通知對象

  1. 登錄ARMS控制臺,在左側導航欄選擇告警管理 > 通知對象
  2. 按照頁面提示,配置告警通知對象。

    關于配置流程和配置項詳細說明,請參見告警通知對象。

2、配置告警規則

  1. 登錄ARMS控制臺。在左側導航欄選擇Prometheus監控 > 實例列表,進入可觀測監控 Prometheus 版的實例列表頁面。

  2. 在頁面頂部選擇目標ACK集群所在的地域,然后單擊目標實例名稱進入對應實例頁面。

  3. 在左側導航欄,單擊告警規則,在告警規則列表為目標通知對象配置告警規則。

    具體操作,請參見創建Prometheus告警規則。

(可選)步驟四:自定義Prometheus監控指標并通過Grafana展示

您可以配置Pod Annotation,使用默認服務發現自定義指標監控;也可以配置Service標簽,通過ServiceMonitor自定義指標監控。如果同時使用了兩種不同的配置方法,可能會導致數據源被多次采集。

  • Pod Annotation:當您為Pod添加特定的Annotation時,阿里云Prometheus監控可以自動發現這些Pod并開始采集它們暴露的指標。

  • Service標簽:定義一個Service對象,并為其添加特殊的標簽,然后創建一個ServiceMonitor資源來指定如何監控這個Service背后的所有Pod。

Pod Annotation

您可以在Deployment Pod Template中加入Annotation,以實現自定義監控。

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載>無狀態,按照控制臺指引創建一個工作負載。

    下方以Deployment為例,介紹主要配置項。詳細信息,請參見創建無狀態工作負載Deployment。

    1. 容器配置頁面,配置容器鏡像和所需資源,創建一個Web應用,暴露5000端口,然后單擊下一步

    2. 高級配置頁面,創建Service并添加Pod Annotation,完成后單擊確定

      • 創建Service。

        在服務(Service)區域,單擊創建,然后按頁面提示配置Service信息。配置服務類型為負載均衡型服務,并設置端口映射。

      • Pod注解區域,添加以下3個Annotation。

        • prometheus.io/scrape:設置為true,表示Prometheus將自動抓取(scrape)指標。

        • prometheus.io/port:本文設置為5000,表示Prometheus要抓取(scrape)的Endpoint端口為5000。

        • prometheus.io/path:本文設置為/access,表示Prometheus要抓取(scrape)的Endpoint路徑為/access

  3. 配置自定義指標。

    1. 登錄ARMS控制臺。

    2. 在左側導航欄,單擊接入管理。

    3. 已接入環境頁簽,查看容器環境列表,單擊目標容器環境操作列的指標采集,進入指標采集頁面。

    4. 指標采集頁簽,通過添加ServiceMonitor、PodMonitor配置可觀測監控Prometheus版的采集規則。

      詳細信息,請參見管理容器環境自定義采集規則。

    5. 配置完成后,在接入管理自監控頁簽下單擊Targets,查看自定義的指標是否配置成功,然后單擊Endpoint列的鏈接,增加訪問指標值。

      關于指標配置的更多信息,請參見DATA MODEL。

      image

  4. 自定義指標監控。

    接入管理指標探索頁簽,您可以通過選擇指標或者編寫PromQL查看、驗證您的監控數據。具體操作,請參見指標探索。

  5. 接入管理自監控頁簽下單擊大盤監控,查看自定義指標的Grafana大盤。

Service標簽

通過ServiceMonitor方式自定義指標監控時,您部署應用時無需配置Pod Annotation,可以通過為Service對象添加標簽來實現。

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

  2. 在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載>無狀態,按照控制臺指引創建一個工作負載。

    下方以Deployment為例,介紹主要配置項。詳細信息,請參見創建無狀態工作負載Deployment。

    1. 容器配置頁面,配置容器鏡像和所需資源,并創建一個Web應用,暴露5000端口,然后單擊下一步

    2. 高級配置頁面,單擊服務(Service)區域的創建,根據頁面提示創建Service。

      配置服務類型為負載均衡型服務,并設置端口映射,同時為Service添加標簽,例如Key為app,Value為custom-metrics-pindex。該標簽將用于ServiceMonitor的Selector。

  3. 配置自定義指標。使Prometheus獲得Service的Scrape Endpoint。

    1. 登錄ARMS控制臺。

    2. 在左側導航欄,單擊接入管理。

    3. 已接入環境頁簽,查看容器環境列表,單擊目標容器環境操作列的指標采集,進入指標采集頁面。

    4. 指標采集頁簽,單擊Service Monitor,進入Service Monitor配置頁面,然后單擊新增,根據頁面展示信息創建ServiceMonitor,然后單擊創建

      關于配置自定義指標的更多操作,請參見管理Kubernetes集群服務發現。

      展開查看完整的示例YAML

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        # 填寫一個唯一名稱。
        name: custom-metrics-pindex
        # 填寫目標命名空間。
        namespace: default
      spec:
        endpoints:
        - interval: 30s
          # 填寫service.yaml中對應的Port的Name字段的值。
          port: web
          # 填寫Service對應的Path的值。
          path: /access
        namespaceSelector:
          any: true
          # Nginx Demo的命名空間。
        selector:
          matchLabels:
            # 填寫service.yaml的Label字段的值以定位目標service.yaml。
            app: custom-metrics-pindex
    5. 接入管理自監控頁簽下,單擊Targets頁簽,可見Prometheus已經獲得服務Scrape Endpoint。

      Scape Endpioint

      說明

      相較于Annotation的實現方式,通過ServiceMonitor定義自定指標時,Label能夠展示Namespace和Service名稱。

  4. 單擊Endpoint列的鏈接,增加訪問指標值。

    關于指標配置的更多信息,請參見DATA MODEL。

    image

    image

  5. 自定義指標監控。

    接入管理指標探索頁簽,您可以通過選擇指標或者編寫PromQL查看、驗證您的監控數據。具體操作,請參見指標探索

  6. 接入管理自監控頁簽下單擊大盤監控,可觀察自定義指標的Grafana圖形。

常見問題

如何查看ack-arms-prometheus組件版本?

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理。

  3. 組件管理頁面,單擊日志與監控頁簽,找到ack-arms-prometheus組件。

    在組件下方顯示當前版本信息,如有新版本需要升級,可單擊版本右側升級完成組件升級。

    說明

    當已安裝的組件版本不是最新版本時,才會顯示升級操作。

為什么GPU監控無法部署?

如果您的GPU節點上存在污點,可能導致GPU監控無法部署。您可以通過以下步驟查看GPU節點的污點情況。

  1. 執行以下命令,查看目標GPU節點的污點情況。

    如果您的GPU節點擁有自定義的污點,可找到污點相關的條目。本文以keytest-key、valuetest-valueeffectNoSchedule為例說明:

    kubectl describe node cn-beijing.47.100.***.***

    預期輸出:

    Taints:test-key=test-value:NoSchedule
  2. 通過以下兩種方式處理GPU節點的污點。

    • 執行以下命令,刪除GPU節點的污點。

      kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule-
    • 對GPU節點的污點進行容忍度聲明,允許Pod調度到該污點的節點上。

      # 1.執行以下命令,編輯ack-prometheus-gpu-exporter。
      kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter
      
      # 2. 在YAML中添加如下字段,聲明對污點的容忍度。
      #省略其他字段。
      #tolerations字段添加在containers字段上面,且與containers字段同級。
      tolerations:
      - key: "test-key"
        operator: "Equal"
        value: "test-value"
        effect: "NoSchedule"
      containers:
       #省略其他字段。

手動刪除資源或將導致重新安裝阿里云Prometheus失敗,如何完整地手動刪除ARMS-Prometheus?

只刪除阿里云Prometheus的命名空間,會導致資源刪除后有殘留配置,影響再次安裝。您可以執行以下操作,完整地手動刪除ARMS-Prometheus殘余配置。

  • 刪除arms-prom命名空間。

    kubectl delete namespace arms-prom
  • 刪除ClusterRole。

    kubectl delete ClusterRole arms-kube-state-metrics
    kubectl delete ClusterRole arms-node-exporter
    kubectl delete ClusterRole arms-prom-ack-arms-prometheus-role
    kubectl delete ClusterRole arms-prometheus-oper3
    kubectl delete ClusterRole arms-prometheus-ack-arms-prometheus-role
    kubectl delete ClusterRole arms-pilot-prom-k8s
    kubectl delete ClusterRole gpu-prometheus-exporter
  • 刪除ClusterRoleBinding。

    kubectl delete ClusterRoleBinding arms-node-exporter
    kubectl delete ClusterRoleBinding arms-prom-ack-arms-prometheus-role-binding
    kubectl delete ClusterRoleBinding arms-prometheus-oper-bind2
    kubectl delete ClusterRoleBinding arms-kube-state-metrics
    kubectl delete ClusterRoleBinding arms-pilot-prom-k8s
    kubectl delete ClusterRoleBinding arms-prometheus-ack-arms-prometheus-role-binding
    kubectl delete ClusterRoleBinding gpu-prometheus-exporter
  • 刪除Role及RoleBinding。

    kubectl delete Role arms-pilot-prom-spec-ns-k8s
    kubectl delete Role arms-pilot-prom-spec-ns-k8s -n kube-system
    kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s
    kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s -n kube-system

手動刪除ARMS-Prometheus資源后,請在容器服務管理控制臺運維管理>組件管理中,重新安裝ack-arms-prometheus組件。

安裝ack-arms-prometheus組件時報錯xxx in use

  1. 登錄容器服務管理控制臺,在左側導航欄單擊集群。

  2. 集群列表頁面中,單擊目標集群名稱或者目標集群右側操作列下的詳情

  3. 在集群管理頁面左側導航欄選擇應用 > Helm,檢查是否存在ack-arms-prometheus。

    • 存在:在Helm頁面刪除ack-arms-prometheus,并在組件管理頁面重新安裝ack-arms-prometheus。關于安裝ack-arms-prometheus的具體操作,請參見管理組件。:

    • 不存在:

      1. 若沒有ack-arms-prometheus,表明刪除ack-arms-prometheus helm有資源殘留,需要手動清理。關于刪除ack-arms-prometheus殘留資源的具體操作,請參見阿里云Prometheus監控常見問題。

      2. 組件管理頁面安裝ack-arms-prometheus。關于安裝ack-arms-prometheus的具體操作,請參見管理組件。

      3. 執行以上步驟,如果仍無法安裝ack-arms-prometheus,請提交工單。

提示Component Not Installed后繼續安裝ack-arms-prometheus組件,安裝失敗

  • 檢查是否已經安裝ack-arms-prometheus組件。

    1. 登錄容器服務管理控制臺,在左側導航欄單擊集群。

    2. 集群列表頁面中,單擊目標集群名稱或者目標集群右側操作列下的詳情

    3. 在集群管理頁面左側導航欄選擇應用>Helm

      Helm頁面檢查是否存在ack-arms-prometheus組件。

      • Helm頁面已有ack-arms-prometheus,您需要在Helm頁面刪除ack-arms-prometheus,并在組件管理頁面重新安裝ack-arms-prometheus。關于安裝ack-arms-prometheus的具體操作,請參見管理組件

      • Helm頁面沒有ack-arms-prometheus組件,您需要進行以下操作:

        1. 若沒有ack-arms-prometheus,說明刪除ack-arms-prometheus helm有資源殘留,需要手動清理。關于刪除ack-arms-prometheus殘留資源的具體操作,請參見阿里云Prometheus監控常見問題。

        2. 組件管理頁面安裝ack-arms-prometheus。關于安裝ack-arms-prometheus的具體操作,請參見管理組件

        3. 執行以上步驟,仍無法安裝ack-arms-prometheus,請提交工單。

  • 檢查ack-arms-prometheus的日志是否有報錯。

    1. 登錄容器服務管理控制臺,在左側導航欄單擊集群。

    2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 無狀態

    3. 無狀態頁面頂部設置命名空間arms-prom,然后單擊arms-prometheus-ack-arms-prometheus。

    4. 單擊日志頁簽,查看日志中是否有報錯。

      若日志中出現報錯,請提交工單。

  • 檢查Agent是否安裝報錯。

    1. 登錄ARMS控制臺

    2. 在左側導航欄,單擊接入管理

    3. 已接入環境頁簽,查看容器環境列表,單擊目標容器環境操作列的探針設置,進入探針設置頁面。

    4. 檢查安裝探針是否正常運行。若有報錯,請提交工單。