更新时间:2025-08-12 GMT+08:00

监控管理

使用云服务Prometheus监控,可以监控CCI 2.0云服务的多种指标。详情请参见AOM Prometheus监控概述

约束与限制

一个企业项目下仅可以创建一个云服务类型的Prometheus实例。

CCI 2.0当前仅支持在土耳其-伊斯坦布尔、非洲-约翰内斯堡、亚太-新加坡和中东-利雅得局点使用监控管理。

步骤一 创建Prometheus实例

  1. 登录华为云AOM 2.0控制台。
  2. 在左侧导航栏选择“Prometheus监控 -> 实例列表”,单击“创建Prometheus实例”。
  3. 设置实例名称、企业项目和实例类型信息。

    如果已使用“CCE 突发弹性引擎 (对接 CCI)”插件或需要使用“CCE 突发弹性引擎 (对接 CCI)”插件,Prometheus实例同时需要给CCE集群使用,实例类型需选Prometheus for CCE。

  4. 完成后单击“确定”。

步骤二 获取密钥

  1. 单击所创建的Prometheus实例名称,进入详情页。
  2. 单击“设置”,在调用凭证栏单击“创建AccessCode”。
  3. 单击“立即生成”。

  4. 在服务地址栏获取<project_id>、<aom_id>、<aom_secret>。

  5. 将以上3个信息拼接为字符串,格式为:<project_id>_<aom_id>: <aom_secret>。

    冒号后需包含一个空格。

  6. 将其生成base64编码。

    您可参考以下shell命令生成base64编码:

    project_id=<project_id>
    aom_id=<aom_id>
    aom_secret=<aom_secret> 
    echo -n "${project_id}_${aom_id}: ${aom_secret}" |base64 -w 0
  7. 将生成的base64编码字符串填充到以下模板中,替换{AOMAuthBase64},并复制此代码。
    kind: Secret 
    apiVersion: cci/v2 
    metadata:  
      name: cci-aom-app-secret 
    data:
      aom_auth: {AOMAuthBase64}
    type: cci/secure-opaque
  8. 登录云容器实例 CCI2.0控制台。
  9. 在左侧导航栏单击“配置中心”。
  10. 在配置中心页面选择“密钥(Secret)”。
  11. 单击“YAML创建”,将代码替换到CCI界面创建AOM APP Secret。

步骤三 创建容器组

  1. 登录云容器实例 CCI2.0控制台。
  1. 在左侧导航栏单击“负载管理”,选择“容器组”页签。
  2. 单击“创建容器组”,并填写相关信息,可参考容器组操作指导

  3. 完成后单击“立即创建”。

步骤四 监控容器组

有两种查询方式可监控容器组。分别为“全量指标”和“按普罗语句添加”。

方式一 全量指标
  1. 登录华为云AOM 2.0控制台。
  2. 在左侧导航栏选择“指标浏览”。
  3. 在指标源页面选择步骤一 创建Prometheus实例

  4. 在“全量指标”页签,单击“指标”。
  5. 勾选“CCI”,选择相关常用指标。

  6. 即可查看指标监控相关数据。

方式二 按普罗语句添加

  1. 登录华为云AOM 2.0控制台。
  2. 在左侧导航栏选择“指标浏览”。
  3. 在指标源页面选择步骤一 创建Prometheus实例

  4. 在“按普罗语句添加”页签,在搜索框输入普罗语句后单击即可。

    常用普罗语句示例如下:

    1. 查询所有Pod CPU使用率。
      sum(rate(container_cpu_usage_seconds_total{cluster="cci", image!=""}[5m])) by (pod, namespace) / (sum(container_spec_cpu_quota{cluster="cci", image!=""}/100000) by (pod, namespace)) * 100

    2. 查询单个Pod CPU使用率。

      将如下promQL中的<pod_name>替换为pod名。

      sum(rate(container_cpu_usage_seconds_total{cluster="cci", image!="", pod="<pod_name>"}[5m])) by (pod, namespace) / (sum(container_spec_cpu_quota{cluster="cci", image!="", pod="<pod_name>"}/100000) by (pod, namespace)) * 100

    3. 查询单个Container CPU使用率。

      将如下promQL中的<pod_name>替换为pod名,<container_name>替换为container名。

      sum(rate(container_cpu_usage_seconds_total{cluster="cci", image!="", pod="<pod_name>", container="<container_name>"}[5m])) by (pod, namespace, container) / (sum(container_spec_cpu_quota{cluster="cci", image!="", pod="<pod_name>", container="<container_name>"}/100000) by (pod, namespace, container)) * 100

    4. 查询所有Pod内存使用量。
      sum(container_memory_working_set_bytes{cluster="cci", image!=""}) by (pod, namespace)

    5. 查询单个Pod内存使用量。

      将如下promQL中的<pod_name>替换为pod名。

      sum(container_memory_working_set_bytes{cluster="cci", image!="", pod="<pod_name>"}) by (pod, namespace)

    6. 查询单个Container内存使用量。

      将如下promQL中的<pod_name>替换为pod名,<container_name>替换为container名。

      container_memory_working_set_bytes{cluster="cci", image!="", pod="<pod_name>", container="<container_name>"}

    7. 查询所有Pod内存使用率。
      sum (container_memory_working_set_bytes{cluster="cci", image!=""}) by (pod, namespace) / sum(container_spec_memory_limit_bytes{cluster="cci", image!=""}) by (pod, namespace) * 100 !=+Inf

    8. 查询单个Pod内存使用率。

      将如下promQL中的<pod_name>替换为pod名。

      sum (container_memory_working_set_bytes{cluster="cci", image!="", pod="<pod_name>"}) by (pod, namespace) / sum(container_spec_memory_limit_bytes{cluster="cci", image!="", pod="<pod_name>"}) by (pod, namespace) * 100 !=+Inf

    9. 查询单个Container内存使用率。

      将如下promQL中的<pod_name>替换为pod名,<container_name>替换为container名。

      container_memory_working_set_bytes{cluster="cci", image!="", pod="<pod_name>", container="<container_name>"} / container_spec_memory_limit_bytes{cluster="cci", image!="", pod="<pod_name>", container="<container_name>"} * 100 !=+Inf

仪表盘等更多监控运维方法请参考创建仪表盘