云厂商监控(阿里云 / 腾讯云 / 华为云) —— 云产品指标、告警与事件的一站式托管监控横向对比

运维监控软件手册 07-商业与云监控 20.2 KB 原文

云厂商监控(阿里云 / 腾讯云 / 华为云) —— 云产品指标、告警与事件的一站式托管监控横向对比

分类:07 商业与云监控 适用:主要业务跑在单一或多家公有云上,需要对 ECS/CVM/ECS、RDS、SLB/CLB/ELB、OSS/COS/OBS 等云产品做基础监控与告警的运维团队 一句话:阿里云云监控 CMS / 腾讯云可观测平台(云监控)/ 华为云 CES 三家托管监控的横向对比与统一用法 官方:阿里云 https://help.aliyun.com/zh/cms/ · 腾讯云 https://cloud.tencent.com/document/product/248 · 华为云 https://support.huaweicloud.com/ces/(控制台与文档入口以各云官方为准) 授权:商业云托管服务;基础云产品监控通常免费,API 调用超额、自定义指标、短信/电话通知、日志与数据转储等按量计费,计费与免费额度以各云官方计费文档为准

1. 它解决什么问题

自建 Prometheus 能监控应用与主机,但云产品内部指标(RDS 连接数、SLB 后端健康、对象存储流量)由云平台采集,自建栈拿不到;同时云主机的创建销毁、弹性伸缩、账单与资源变更也需要与云平台联动。云厂商监控解决的是:

  • 免部署采集:开通即用,云产品自动上报指标到平台侧时序库,无需在实例内装 Agent(操作系统级细粒度指标仍需安装各云监控 Agent / 插件)。
  • 告警与云资源联动:告警策略可直接绑定实例、实例组、标签,配合弹性伸缩、事件告警与回调(云函数 / Webhook)。
  • 事件监控:实例重启、宕机迁移、欠费、运维事件等平台侧事件统一告警。
  • 局限:跨云聚合能力弱、指标粒度与保留期受平台约束、自定义能力弱于自建 Prometheus;深度 APM / 日志关联通常需要各云的可观测 / 日志服务或第三方。

2. 核心概念与架构

2.1 术语表(三家对照)

概念 阿里云云监控 CMS 腾讯云可观测平台 / 云监控 华为云 CES
服务名 云监控 CloudMonitor(含云监控 2.0) 可观测平台 TCOP / 云监控 CM 云监控服务 CES(Cloud Eye)
命名空间 acs_ecs_dashboard、acs_ots_new 等 QCE/CVM、QCE/REDIS_MEM 等 服务维度(如 SYS.ECS),以官方文档为准
指标 MetricName(如 cpu_idle、CPUUtilization) MetricName(如 CPUUsage、CpuUtil) 指标(如 cpu_util)
维度 Dimensions(如 instanceId) Instances.N.Dimensions(如 instanceid) dimensions(如 instance_id)
统计粒度 Period(秒,60/300/3600) Period(5/60/300/3600/86400) period(以官方文档为准)
告警规则 报警规则;云监控 2.0 用 alert rule 告警策略(含触发条件模板) 告警规则(含告警模板)
通知对象 报警联系人 / 联系人组 / 报警回调 通知模板(每策略最多 3 个) 消息通知主题 SMN / 告警通知
事件 系统事件监控 事件告警 事件监控(CreateEvents / ListEvents)
自定义上报 自定义指标 / Prometheus 实例 自定义监控上报 自定义指标 / 自定义事件上报
权限体系 RAM(子账号、AccessKey) CAM(子用户、访问密钥) IAM(用户 / 用户组、AK/SK)

2.2 组件与数据流

  云产品内部                      云平台采集                    云监控服务                    告警/消费
 ┌──────────────┐  自动上报  ┌────────────────────┐  ┌──────────────────────────┐  ┌────────────────────┐
 │ECS/CVM/ECS   │──────────▶│ 平台侧指标管道      │─▶│ 指标时序库(按 Namespace │─▶│ 控制台图表 / Dashboard│
 │RDS / 数据库  │  (免Agent) │ + 可选监控Agent/插件│  │  + Metric + Dimension)   │  │ 查询 API / CLI       │
 │SLB/CLB/ELB   │           │ (OS级细粒度指标)    │  └───────────┬──────────────┘  └────────────────────┘
 │OSS/COS/OBS   │           └────────────────────┘              │
 │系统事件/账单 │──事件/自定义上报──────────────────────────────▶│
 └──────────────┘                                                ▼
                                                ┌──────────────────────────────────────┐
                                                │ 告警规则/策略:指标+比较+阈值+统计粒度│
                                                │ +持续周期 → 通知模板/联系人组        │
                                                └──────────────┬───────────────────────┘
                                                               ▼
                        邮件 / 短信 / 电话 / 企业微信 / 钉钉 / Slack(经 Webhook)
                        回调:云函数 FC / SCF / FunctionGraph · HTTP Webhook · 弹性伸缩

云产品监控数据 → 云监控服务 → 告警规则 → 通知/回调 链路:① 云产品由平台侧自动采集(或实例内安装云监控 Agent 补充 OS 级指标)→ ② 按 Namespace + MetricName + Dimensions + Period 汇入云监控时序库,控制台与 DescribeMetricList / GetMonitorData / CES 指标 API 可查询 → ③ 用户创建告警规则/策略,选监控类型、告警对象(实例/实例组/标签/全部对象)、触发条件(指标 + 比较关系 + 阈值 + 统计粒度 + 持续 N 个周期)与通知模板 → ④ 规则周期性求值,触发后发邮件/短信/企微/钉钉,并可回调云函数、HTTP Webhook 或触发弹性伸缩。

与自建监控的分工:云监控负责「云平台看得见、应用看不见」的部分(云产品指标、平台事件、账单、资源拓扑);自建 Prometheus 负责应用内指标、业务自定义指标、跨云统一 PromQL 与长期存储。落地常见做法:云监控告警经 Webhook / 云函数汇入统一 On-call 平台,与自建栈告警一起收敛;云产品指标也可通过各云托管的 Prometheus 服务接入自建 Grafana。

⚠️ 三家云的 API 端点、CLI 子命令与参数随版本演进,本文 CLI 中标注「以各云官方文档为准」的部分均为通用形式,实际以各云官方帮助中心为准。

3. 安装与部署

3.1 环境准备

项 要求
账号 各云主账号或经 RAM / CAM / IAM 授权的子账号;建议专门建「监控只读」与「告警管理」两类子账号
密钥 AccessKey ID/Secret(阿里云)、SecretId/SecretKey(腾讯云)、AK/SK(华为云);配到 CLI 环境变量或凭据文件
CLI 阿里云 CLI aliyun、腾讯云 CLI tccli、华为云 CLI hcloud;安装与 configure 步骤以各云官方文档为准
权限 查询指标需只读权限;创建告警规则需写权限 + 通知联系人组/主题的管理权限
网络 控制台 HTTPS 443;CLI / API 需能访问各云 OpenAPI 网关;内网场景用 VPC endpoint(以各云官方文档为准)
地域 指标与告警规则按 Region 隔离;跨地域查询需分别调用,注意「中国香港」等地域表述

3.2 控制台开通 + CLI / API 接入

控制台开通(三家通用步骤):① 登录各云控制台 → ② 搜索「云监控 / 可观测平台 / CES」并进入(多数基础监控默认开通,无需付费开通)→ ③ 在「告警联系人 / 通知模板 / 消息通知主题」先创建接收人与接收组 → ④ 到「告警规则 / 告警策略」新建策略 → ⑤ 到「监控大盘 / Dashboard」查看指标。

  • 阿里云:云监控控制台 → 报警服务 → 报警联系人/联系人组 → 报警规则;云监控 2.0 另需创建 Prometheus 实例与工作空间(workspace)。
  • 腾讯云:可观测平台 → 告警管理 → 告警配置 → 新建策略(六要素:策略名称、监控类型、策略类型、告警对象、触发条件、告警通知;支持触发条件模板、重复通知频率、弹性伸缩)。
  • 华为云:云监控服务 CES → 告警 → 创建告警规则 / 告警模板;通知走消息通知服务 SMN 主题。

CLI 初始化(通用形式,以各云官方文档为准)

# 阿里云 CLI
aliyun configure                      # 交互式配置 AccessKey / Region / 输出格式
# 腾讯云 CLI
tccli configure                       # 配置 SecretId / SecretKey / Region
# 华为云 CLI
hcloud CES ListAlarms/v1              # 先验证凭据与 CES 服务可用(命令见 §5.3)

API 接入示例(SDK / HTTP,端点以各云官方文档为准)

# 阿里云:DescribeMetricList(Cms 2019-01-01,参数名以官方 API 文档为准)
aliyun cms describe-metric-meta-list --namespace acs_ecs_dashboard --page-size 100 --page-number 1
# 腾讯云:GetMonitorData / DescribeBaseMetrics(参数以腾讯云可观测平台 API 文档为准)
tccli monitor DescribeBaseMetrics --Namespace QCE/CVM     # 通用形式,以各云官方文档为准
# 华为云:CES CLI 指标管理(子命令名以华为云 CES CLI 官方文档为准)
hcloud CES ListAlarms/v1                                  # 已验证的告警规则列表命令

3.3 首次启动与验证

# 阿里云:查询某 ECS 的 CPU 指标(确认数据已在云端)
aliyun cms describe-metric-list --namespace acs_ecs_dashboard --metric-name cpu_idle \
  --period 60 --start-time "<START>" --end-time "<END>" \
  --dimensions '[{"instanceId":"<INSTANCE_ID>"}]' | jq
# 腾讯云:查询指标(通用形式,以各云官方文档为准)
tccli monitor GetMonitorData --Namespace QCE/CVM --MetricName CPUUsage --Period 300 \
  --StartTime "<START>" --EndTime "<END>" | jq
# 华为云:列出告警规则与事件
hcloud CES ListAlarms/v1 ; hcloud CES ListEvents/v1

控制台验证:云监控 → 资源监控 / 主机监控看到实例与曲线;告警策略列表出现新建策略;触发一次压测或手工模拟后收到通知(⚠️ 短信/电话通知可能产生费用)。

4. 配置文件详解

4.1 告警规则 / 策略关键项(三家对照)

配置项 阿里云 CMS / 2.0 腾讯云可观测平台 华为云 CES
规则载体 报警规则;2.0 用 alert rule JSON(--body) 告警策略(控制台 / API) 告警规则 / 告警模板
命名空间 Namespace(如 acs_ecs_dashboard) Namespace(如 QCE/CVM) 服务维度(以官方文档为准)
指标 MetricName MetricName 指标名
维度 Dimensions JSON 字符串 Instances.N.Dimensions dimensions
统计粒度 Period(60/300/3600 秒) Period(5/60/300/3600/86400 秒) period(以官方文档为准)
触发条件 阈值 + 比较关系 + 连续次数 指标 + 比较关系 + 阈值 + 统计粒度 + 持续 N 个数据点 指标 + 比较 + 阈值 + 连续周期
告警对象 应用分组 / 实例 / 全部资源 实例 ID / 实例组 / 标签 / 全部对象 资源 / 资源分组
通知 报警联系人组;2.0 通知策略 通知模板(每策略 ≤3 个) SMN 主题 / 通知模板
重复通知 静默 / 生效周期 不重复 / 5 分钟 / 10 分钟 / 周期指数递增 告警频率(以官方文档为准)
回调 报警回调 URL / 函数计算 FC 告警回调 / 云函数 SCF / Webhook FunctionGraph / HTTP 回调
无数据 支持无数据告警(以官方文档为准) 支持事件告警与数据不足策略 支持(以官方文档为准)

4.2 完整可运行最小告警规则配置(云监控 2.0 alert rule JSON)

{
  "name": "ecs-cpu-high",
  "description": "ECS CPU 使用率超过 85% 持续 3 个周期",
  "namespace": "acs_ecs_dashboard",
  "metricName": "CPUUtilization",
  "dimensions": [{"instanceId": "<INSTANCE_ID>"}],
  "period": 300,
  "condition": {"comparison": ">", "threshold": "85", "evaluationCount": 3},
  "labels": {"severity": "critical", "team": "ops"},
  "annotations": {"summary": "ECS <INSTANCE_ID> CPU 过高"},
  "notifications": [{"type": "contactGroup", "target": "<CONTACT_GROUP>"},
                    {"type": "webhook", "url": "https://<WEBHOOK_HOST>/alert"}],
  "status": "enabled"
}
# 云监控 2.0 CLI 子命令已验证存在;--body 字段结构以阿里云官方文档为准
aliyun cms2 alert rule create --body @alert-rule.json
aliyun cms2 alert rule list --body '{}'          # 以各云官方文档为准

⚠️ 上面 JSON 是结构示意,字段名与必填项三家各异且随版本变化;生产请先用控制台创建一条规则,再用 ... rule get / ... rule list 导出真实 JSON 作为模板(以各云官方文档为准)。

4.3 腾讯云告警策略关键配置(控制台字段)

字段 取值示例
监控类型 / 策略类型 云产品监控 / 云服务器 CVM
告警对象 实例 ID、实例分组、标签、全部对象
触发条件 CPU 利用率 > 80%,统计粒度 5 分钟,持续 2 个周期
告警频率 不重复 / 5 分钟 / 10 分钟 / 周期指数递增
告警通知 通知模板(≤3 个),含短信、邮件、微信、Webhook 回调
高级配置 弹性伸缩(部分云产品支持)

5. 核心使用方法

5.1 阿里云 CMS CLI(查询指标 / 告警规则)

aliyun configure                                                          # 1 配置凭据
aliyun cms describe-metric-meta-list --namespace acs_ecs_dashboard --page-size 100 --page-number 1  # 2 枚举可用指标
aliyun cms describe-metric-list --namespace acs_ecs_dashboard --metric-name cpu_idle --period 60 \
  --start-time "<START>" --end-time "<END>" --dimensions '[{"instanceId":"<INSTANCE_ID>"}]'        # 3 查询历史指标
aliyun cms describe-metric-last --namespace acs_ecs_dashboard --metric-name cpu_idle \
  --dimensions '[{"instanceId":"<INSTANCE_ID>"}]'                            # 4 查询最新值
aliyun cms describe-metric-list ... | jq -r '.Datapoints' | jq -c '{max:(map(.Maximum)|max)}'       # 5 二次解析并聚合
aliyun cms2 alert rule create --body @alert-rule.json                       # 6 创建告警规则(2.0)
aliyun cms2 alert rule list --body '{}'                                     # 7 列出规则
aliyun cms2 alert rule get --body '{"id":"<RULE_ID>"}'                      # 8 查询单条规则
aliyun cms2 alert rule patch --body '{"id":"<RULE_ID>","status":"disabled"}' # 9 增量改规则
aliyun cms2 alert rule enable --body '{"ids":["<RULE_ID>"]}'                # 10 批量启用
aliyun cms2 alert rule delete --body '{"id":"<RULE_ID>"}'                   # 11 ⚠️ 删除规则
aliyun cms2 alert history list --body '{}'                                  # 12 查询告警历史
# 说明:DescribeMetricList 免费额度 100 万次/月(含 Last/List/Data/Top),限流 50 次/秒;以官方 API 文档为准

5.2 腾讯云 CLI(查询指标 / 告警规则,通用形式)

tccli configure                                                            # 13 配置凭据
tccli monitor DescribeBaseMetrics --Namespace QCE/CVM                         # 14 查询可用指标(以腾讯云官方文档为准)
tccli monitor GetMonitorData --Namespace QCE/CVM --MetricName CPUUsage \
  --Period 300 --StartTime "<START>" --EndTime "<END>" \
  --Instances.N.Dimensions.0.Name instanceid --Instances.N.Dimensions.0.Value "<INSTANCE_ID>"  # 15 查询指标(参数以官方文档为准)
tccli monitor DescribeAlarmPolicies                                          # 16 列出告警策略(通用形式)
tccli monitor CreateAlarmPolicy --PolicyName "cvm-cpu-high" --MonitorType "MT_QCE" \
  --Namespace QCE/CVM --MetricName CPUUsage --Conditions '<CONDITION_JSON>' \
  --NoticeIds '["<NOTICE_ID>"]'                                              # 17 创建告警策略(字段以官方文档为准)
tccli monitor DescribeAlarmHistories --StartTime "<START>" --EndTime "<END>" # 18 查询告警历史(通用形式)
# ⚠️ 以上 tccli 子命令与参数名为通用示意,实际名称、必填项与 JSON 结构以腾讯云可观测平台官方 API/CLI 文档为准

5.3 华为云 CES CLI(查询指标 / 告警规则)

hcloud CES ListAlarms/v1                                                     # 19 列出告警规则(已验证)
hcloud CES ShowAlarm/v1 --alarm_id "<ALARM_ID>"                              # 20 查询单条告警规则(参数以官方文档为准)
hcloud CES CreateAlarm/v1 --body @ces-alarm.json                             # 21 创建告警规则(已验证子命令,body 字段以官方文档为准)
hcloud CES UpdateAlarm/v1 --alarm_id "<ALARM_ID>" --body @ces-alarm.json     # 22 修改告警规则
hcloud CES UpdateAlarmAction/v1 --alarm_id "<ALARM_ID>" --action_enabled true # 23 启停告警规则
hcloud CES DeleteAlarm/v1 --alarm_id "<ALARM_ID>"                            # 24 ⚠️ 删除告警规则
hcloud CES ListAlarmHistories/v1                                             # 25 查询告警历史(已验证)
hcloud CES ListAlarmTemplates/v1 ; hcloud CES CreateAlarmTemplate/v1 --body @tpl.json  # 26 告警模板
hcloud CES CreateEvents/v1 --body @event.json ; hcloud CES ListEvents/v1     # 27 上报/查询自定义事件(已验证)
hcloud CES ShowMetricData/v1 --namespace "<NS>" --metric_name "<METRIC>" --dim "<DIM>" --period 300 --from "<START>" --to "<END>"  # 28 指标查询(通用形式,以华为云 CES CLI 官方文档为准)

5.4 控制台与 API 等效操作

操作 控制台入口 API / CLI 等效
看指标曲线 云监控 → 资源监控 / 监控大盘 DescribeMetricList / GetMonitorData / CES 指标 API
枚举指标 指标说明页 DescribeMetricMetaList / DescribeBaseMetrics / CES 指标列表
建告警 报警规则 / 新建策略 / 创建告警规则 cms2 alert rule create / CreateAlarmPolicy / CreateAlarm/v1
看告警 报警历史 / 告警历史 alert history list / DescribeAlarmHistories / ListAlarmHistories/v1
通知人 联系人组 / 通知模板 / SMN 主题 各云通知对象管理 API
回调 报警回调 / 告警回调 / 函数回调 HTTP Webhook / 云函数(FC / SCF / FunctionGraph)
自定义数据 自定义监控 / 自定义指标 各云自定义指标上报 API(以官方文档为准)

6. 告警与通知

  • 触发条件:三家均由「指标 + 比较关系 + 阈值 + 统计粒度 + 持续周期」组成,例如「CPU 利用率 > 80%,5 分钟粒度,连续 2 个周期」;持续周期用于抑制瞬时抖动。
  • 通知渠道:邮件、短信、电话(⚠️ 常按条计费)、企业微信 / 钉钉 / Slack(多经 Webhook 或机器人)、各云消息通知服务主题。
  • 回调 / 自动化:阿里云报警回调 + 函数计算 FC;腾讯云告警回调 + 云函数 SCF + 弹性伸缩;华为云 SMN + 函数工作流 FunctionGraph + HTTP 回调。统一做法是把回调指向企业内部 On-call / 告警收敛平台。
{
  "policyName": "rds-connections-high",
  "monitorType": "云产品监控",
  "namespace": "QCE/CDB",
  "metricName": "ThreadsConnected",
  "condition": {"operator": ">", "threshold": 200, "period": 300, "continuePeriod": 2},
  "objects": [{"instanceId": "<RDS_INSTANCE_ID>"}],
  "notifications": [{"type": "email", "to": "<MAIL_TO>"},
                    {"type": "dingtalk_webhook", "url": "https://oapi.dingtalk.com/robot/send?access_token=<TOKEN>"},
                    {"type": "webhook", "url": "https://<WEBHOOK_HOST>/alert"}],
  "repeatPolicy": "exponential",
  "callback": {"type": "scf", "function": "<FUNCTION_NAME>"}
}

⚠️ 上述为跨云通用示意 JSON,非任一家的真实请求体;请用控制台导出或官方 API 文档取真实字段(以各云官方文档为准)。

静默 / 升级 / 降噪:用「生效时段 / 维护窗口 / 告警屏蔽」做静默;按严重级别建多条规则(warning→critical)配不同通知渠道实现升级;用持续周期、重复通知频率(腾讯云支持「周期指数递增」)、告警合并 / 分组、标签绑定对象自动跟随资源增减来降噪。

7. 实战场景

场景 A:给云上 ECS / CVM / ECS 配 CPU 告警(必做)

目标:为主机实例创建 CPU 高告警,通知到钉钉群与邮件。

# 1) 建通知对象:阿里云联系人组 / 腾讯云通知模板 / 华为云 SMN 主题(控制台先行)
# 2) 确认指标存在(阿里云示例)
aliyun cms describe-metric-meta-list --namespace acs_ecs_dashboard --page-size 100 --page-number 1 | jq
# 3) 创建规则(三家分别用 §5.1 / §5.2 / §5.3 的创建命令,规则内容用 §4.2 的 JSON 结构)
aliyun cms2 alert rule create --body @ecs-cpu-rule.json
# 腾讯云:tccli monitor CreateAlarmPolicy ...(以腾讯云官方文档为准)
# 华为云:hcloud CES CreateAlarm/v1 --body @ecs-cpu-rule.json(字段以华为云官方文档为准)

验证:aliyun cms2 alert rule list --body '{}' / hcloud CES ListAlarms/v1 出现新规则;控制台告警策略列表可见;用 stress --cpu 4 --timeout 600 压测后收到钉钉与邮件。回滚:aliyun cms2 alert rule delete --body '{"id":"<RULE_ID>"}' / hcloud CES DeleteAlarm/v1 --alarm_id "<ALARM_ID>"(⚠️ 先导出规则 JSON 备份)。

场景 B:给云上 RDS 配连接数告警 + 回调自动扩容

目标:RDS 连接数超阈值时告警并触发云函数/弹性伸缩。

# 1) 枚举该云产品命名空间与指标(以各云官方文档为准)
aliyun cms describe-metric-meta-list --namespace <RDS_NAMESPACE> --page-size 100 --page-number 1
# 2) 用 §4.2 / §6 的结构建规则:指标 ThreadsConnected、阈值 200、统计粒度 300s、持续 2 周期
# 3) 在通知里挂 Webhook 指向内部 On-call,并挂云函数回调(FC / SCF / FunctionGraph)
# 4) 验证:查指标曲线与告警历史
aliyun cms2 alert history list --body '{}'

验证:控制台出现告警记录;回调 Webhook 收到 POST 载荷;云函数日志有调用记录。回滚:删除规则并停用回调;⚠️ 如回调会触发扩缩容,务必先在预发验证,避免误扩容产生费用。

场景 C:跨云指标统一查看与告警收敛

目标:把三家云告警统一送到企业 On-call 平台,避免多套通知。

# 1) 各云通知对象里配置同一个 HTTPS 回调(企业内部网关),载荷含 云/地域/实例/指标/严重级别
# 2) 网关侧做去重、分级、静默与升级(示例:用 curl 自测回调可达)
curl -s -X POST https://<WEBHOOK_HOST>/alert -H 'Content-Type: application/json' \
  -d '{"cloud":"<CLOUD>","region":"<REGION>","instance":"<INSTANCE_ID>","metric":"CPUUtilization","severity":"critical"}'
# 3) 需要统一查询时,用各云 CLI 分别拉取指标后落到本地 Prometheus / 时序库(以各云官方文档为准)

验证:On-call 平台收到三家告警且分级正确。回滚:把通知模板改回各云自带邮件/短信渠道;⚠️ 回调地址变更需同步更新全部告警规则。

8. 日常运维与故障排查

8.1 服务管理、日志与健康检查

# 云托管无本地服务可管;排查对象是「数据是否上报」「规则是否存在」「通知是否送达」
aliyun cms2 alert rule list --body '{}' ; tccli monitor DescribeAlarmPolicies ; hcloud CES ListAlarms/v1
aliyun cms2 alert history list --body '{}' ; hcloud CES ListAlarmHistories/v1
# 回调侧日志:云函数 FC / SCF / FunctionGraph 的调用日志与 HTTP 网关访问日志
# CLI 自身日志:各云 CLI 的 --debug / 日志路径以各云官方文档为准

健康检查:控制台能查到实例最新数据点、规则状态为「已启用」、通知模板/联系人组有效、回调 URL 可达。

8.2 故障「现象 → 原因 → 处置」表

现象 原因 处置
控制台无指标曲线 实例刚创建 / 未安装云监控 Agent(OS 级指标)/ Region 选错 等待采集周期、装插件、切到实例所在地域
DescribeMetricList 返回空 Dimensions 的 key 写错(如 instanceId 大小写) 用 DescribeMetricMetaList 查真实维度键
CLI 报权限不足 子账号未授 CMS / Monitor / CES 只读策略 在 RAM / CAM / IAM 补授权(见 §10)
告警不触发 统计粒度与指标实际 Period 不匹配 / 持续周期过长 / 规则被停用 对齐 Period,缩短持续周期,检查规则启用状态
告警触发但没通知 联系人组为空 / 通知模板未绑定 / 短信额度耗尽 检查通知对象绑定与消息通知服务配额
告警风暴 阈值过低、无持续周期、实例批量异常 加持续周期、按标签分组、设重复通知频率与静默
回调 4xx/5xx URL 变更 / 签名校验失败 / 云函数超时 查云函数日志与网关日志,重签与调超时
历史查不到 超出指标保留期(与 Period 相关,见 §11) 用更大 Period 重查,或提前转储到自建存储

9. 性能、容量与高可用

维度 建议
数据粒度 阿里云 Period<60s 保留 7 天、60s 保留 31 天、≥300s 保留 91 天;腾讯云支持 5/60/300/3600/86400 秒;华为云粒度与保留以官方文档为准
查询配额 阿里云 DescribeMetricList/Last/Data/Top 合计 100 万次/月免费、50 次/秒限流(以官方为准);批量查询用分页与聚合,避免高频轮询
告警对象规模 用实例组 / 标签 / 应用分组绑定,避免逐实例建规则;资源增减自动跟随
长期存储 云监控保留期有限,长期趋势用「数据转储 / 托管 Prometheus / 自建 TSDB」定期拉取归档
高可用 云监控为平台托管,无需自建 HA;但通知链路(短信网关、Webhook、云函数)需自身冗余
成本 基础监控多免费;超额 API 调用、自定义指标、短信/电话、日志服务与转储按量计费,用账单与配额告警控费

10. 安全加固、备份与升级

  • RAM / CAM / IAM 子账号:按最小权限分离「指标只读」「告警规则管理」「通知对象管理」三类策略;主账号 AccessKey 不用于日常运维,全部走子账号。
  • 密钥轮换:使用各云凭据管理 / KMS 托管密钥,定期轮换;禁用长期不用的 AccessKey;审计 ActionTrail / 云审计 / 云审计 CTS 中的 CLI 调用。
  • 回调安全:Webhook 用 HTTPS + 签名/令牌校验,云函数限制来源与并发;⚠️ 回调里的实例与业务信息避免写入公开日志。
  • TLS / 网络:CLI / API 强制 HTTPS;内网用 VPC Endpoint(以各云官方文档为准);凭证不写入镜像、脚本或 Git。
  • 配置即代码:告警规则 JSON、通知模板、Terraform / ROS / 资源编排模板入库;用各云 CLI 的 list/get 定期导出备份(GitOps)。
  • 升级顺序:先在测试地域/测试实例建规则 → 验证通知与回调 → 灰度到生产 → 失败用 delete / 停用回滚;云监控为托管服务,无本地组件升级,但要跟进 API 版本与 CLI 版本变更(以各云官方文档为准)。

11. 常见坑

# 现象 原因 解决
1 指标保留期不够查历史 粒度越小保留越短(阿里云 <60s 仅 7 天、60s 31 天、≥300s 91 天) 按需要选 Period,长期数据提前转储
2 告警比预期晚几分钟 云产品采集与聚合有延迟,且统计粒度 5 分钟时天然滞后 按粒度设合理持续周期,别用秒级预期评估分钟级监控
3 API 调用超额被限流 阿里云 100 万次/月免费、50 次/秒 QPS(以官方为准) 聚合查询、缓存结果、分页拉取,开通按量计费
4 账单出现意外费用 ⚠️ 短信/电话通知、自定义指标、API 超额、日志与数据转储按量计费 查计费明细,设预算与配额告警,关掉不用的电话通知
5 Dimensions 维度键不匹配 三家键名与大小写不同(instanceId / instanceid / instance_id) 用元数据接口查真实维度键
6 跨地域查不到数据 指标与规则按 Region 隔离 逐地域查询,注意「中国香港」等地域表述
7 子账号建规则报无权限 只有读权限或缺少通知对象管理权限 RAM / CAM / IAM 补写策略与通知服务授权
8 误扩容/误回调产生费用 ⚠️ 回调直连弹性伸缩或计费资源且未设上限 预发验证、加并发与金额上限、先告警后自动动作
9 资源重建后规则失效 规则绑定旧实例 ID,新实例未纳入 改用实例组 / 标签 / 全部对象绑定
10 通知模板超过上限 腾讯云每个告警策略最多绑 3 个通知模板 合并通知渠道或用回调统一分发
11 删规则后无法追溯 ⚠️ 删除不可逆且告警历史随保留期消失 删前 get/list 导出 JSON,历史定期归档
12 混淆平台事件与指标告警 宕机迁移、欠费等属事件监控,不在指标曲线里 单独配事件告警规则

12. 速查表

项 阿里云 CMS 腾讯云可观测平台 华为云 CES
CLI 工具 aliyun cms / aliyun cms2 tccli monitor hcloud CES
凭据 AccessKey ID/Secret(RAM) SecretId/SecretKey(CAM) AK/SK(IAM)
命名空间示例 acs_ecs_dashboard QCE/CVM、QCE/REDIS_MEM 服务维度(以官方文档为准)
查询指标 API DescribeMetricList / DescribeMetricLast GetMonitorData / DescribeBaseMetrics CES 指标 API(以官方文档为准)
查询指标 CLI aliyun cms describe-metric-list tccli monitor GetMonitorData(通用形式) hcloud CES ShowMetricData/v1(通用形式)
建告警 aliyun cms2 alert rule create CreateAlarmPolicy(通用形式) hcloud CES CreateAlarm/v1
列告警 aliyun cms2 alert rule list DescribeAlarmPolicies(通用形式) hcloud CES ListAlarms/v1
告警历史 aliyun cms2 alert history list DescribeAlarmHistories(通用形式) hcloud CES ListAlarmHistories/v1
事件监控 系统事件监控 事件告警 hcloud CES CreateEvents/v1 / ListEvents/v1
通知对象 报警联系人组 / 报警回调 通知模板(≤3 个) SMN 主题 / FunctionGraph
权限体系 RAM CAM IAM
控制台入口 控制台 → 云监控 控制台 → 可观测平台 控制台 → 云监控服务 CES
免费额度 指标查询 100 万次/月(以官方为准) 基础监控免费(以官方为准) 基础监控免费(以官方为准)
计费项 API 超额 / 自定义指标 / 短信电话 短信电话 / 自定义监控 / 回调 短信电话 / 自定义指标 / 转储
地域 按 Region,含中国香港等地域 按 Region,含中国香港等地域 按 Region,含中国香港等地域

13. 选型建议与同类对比

维度 自建(Prometheus + Grafana) 商业 SaaS(如 Datadog) 云厂商监控
部署运维 自管采集、存储、升级、扩容 免运维,装 Agent 即可 免管控制面,云产品零采集成本
云产品指标 拿不到平台内部指标,需各云 exporter 靠云集成同步,可能有延迟 原生、最全、最及时
成本模型 算力 + 存储 + 人力 按主机/日志/指标/APM 多维计费 基础免费,高级与通知按量,通常最低
数据主权 完全自控 ⚠️ 数据出境到 SaaS,需评估合规 数据在云账号同地域,合规最易
定制能力 最高(PromQL + 任意 exporter) 中(受平台约束) 中低(受托管与保留期限制)
跨云/长期存储 需自建聚合层 原生全局视图最强 各云割裂,需自行汇总归档
信创/国产化 可控,易适配国产发行版 需确认境内节点与合规资质 三家均有政务云 / 信创形态

选云监控:业务集中在单朵云、需要云产品指标与事件告警、希望零运维且与弹性伸缩/账单联动、合规要求数据留在云账号内。不选:跨多云需要统一视图与长期自定义分析、需要深度 APM/日志关联、指标粒度与保留期不满足(此时用托管 Prometheus 或自建栈补充)。推荐组合:云产品基础告警与事件用云监控,应用指标用自建 Prometheus,二者告警经统一 Webhook 收敛到 On-call;长期趋势用数据转储归档。

14. 参考链接

云厂商监控(阿里云 / 腾讯云 / 华为云) —— 云产品指标、告警与事件的一站式托管监控横向对比 - 知识库 - 起航社区