阿里云云监控不原生支持Prometheus采集,但可通过Prometheus+Alibaba Cloud Exporter+ARMS/SLS组合实现统一监控:Exporter调用CMS OpenAPI拉取指标,Prometheus抓取后写入ARMS或SLS,再通过ARMS配置大盘与告警。

Aliyun CloudWatch(阿里云云监控)本身不直接支持 Prometheus 原生指标采集,但可通过 Prometheus + Alibaba Cloud Exporter + 阿里云 ARMS 或 SLS 的组合方式,实现对阿里云资源(ECS、RDS、SLB、Redis 等)的统一可观测性监控。核心思路是:Prometheus 主动拉取云服务指标(通过阿里云 OpenAPI),再将数据写入阿里云 ARMS Prometheus 实例或投递至 SLS 进行长期存储与告警。
一、前置准备:开通服务与获取凭证
确保已开通以下服务并完成基础配置:
- 阿里云账号具备 AliyunCloudMonitorReadOnlyAccess 或自定义策略(需包含
cms:Describe*、ecs:Describe*等只读权限) - 创建 AccessKey ID / AccessKey Secret(建议使用子用户 + RAM 授权,禁用主账号密钥)
- 开通 ARMS Prometheus 托管版(推荐,免运维;或自建 Prometheus + remote_write 至 ARMS)
- (可选)开通 SLS 日志服务,用于存储原始指标或做多维分析
二、部署 Alibaba Cloud Exporter
这是关键组件,负责调用阿里云 CMS(Cloud Monitor Service)OpenAPI 拉取指标,并暴露为 Prometheus 可采集的 HTTP 接口。
- 下载最新版:github.com/aliyun/alibaba-cloud-exporter
- 编写配置文件
config.yml,指定要监控的地域、产品、指标项和维度(如 ECS 实例 ID、RDS 实例名) - 启动 exporter(示例):
./alibaba-cloud-exporter --config.file=config.yml --web.listen-address=:9876 - 验证:访问
http://localhost:9876/metrics,确认返回类似aliyun_ecs_cpuutilization_average{instanceId="i-bp1xxx",region="cn-hangzhou"} 12.5的指标
三、配置 Prometheus 抓取与写入 ARMS
若使用 ARMS Prometheus 托管版,无需自建 Prometheus Server,只需配置 remote_write:
- 在 ARMS 控制台获取 remote_write 地址 和 Authorization Token(格式为 Bearer xxx)
- 修改本地 Prometheus 的
prometheus.yml:
remote_write:
- url: "https://arms-Prometheus-endpoint.aliyuncs.com/api/v1/write"
headers:
Authorization: "Bearer your-token-here"
scrape_configs:
- job_name: 'alicloud-exporter'
static_configs:
- targets: ['exporter-host-ip:9876']
- 重启 Prometheus,观察 ARMS 控制台「指标查询」中是否出现
aliyun_*开头的指标
四、在 ARMS 中配置大盘与告警
ARMS 提供开箱即用的阿里云资源监控大盘,也支持自定义:
- 进入 ARMS 控制台 → Prometheus 监控 → 对应实例 → 「预置大盘」中启用「ECS 云服务器监控」等模板
- 新建告警规则:选择指标如
aliyun_rds_diskusage_average,设置阈值(如 >85%)、持续时间(5m)、通知渠道(钉钉/短信/邮件) - (进阶)用 PromQL 关联多指标,例如:
100 - avg by(instanceId)(aliyun_ecs_cpuutilization_average{region="cn-shanghai"})计算平均空闲 CPU
不复杂但容易忽略:Exporter 的拉取频率(默认 60s)需与 CMS 接口限流匹配;生产环境建议用 systemd 管理进程,并配置日志轮转与健康检查。










