三大云监控数据源概览
| 数据源 | 云厂商 | 覆盖信号 | 查询方式 |
|---|---|---|---|
| CloudWatch | AWS | 指标、Logs Insights、EMF 自定义指标 | Metrics Insights / 日志查询 |
| Azure Monitor | Microsoft Azure | 资源指标、Activity Log、Log Analytics | 指标浏览器 / KQL |
| Google Cloud monitoring | GCP | GCE/GKE 等服务指标、Cloud Logging 日志 | 指标选择器 / 日志过滤 |
三者在 Grafana 里的形态一致:都是插件数据源,走云的公有 API,面板体验与其他数据源无差别;差别全在「Grafana 拿什么身份去调 API」。
凭证方式怎么选
- AWS CloudWatch:静态 access key 最省事但最难治理;Grafana 跑在 EC2/ECS/EKS 上时,推荐挂 IAM 角色走 STS 临时凭证(配置里认证方式选 SDK Default);跨账号场景再叠加 Assume role ARN,让集中部署的 Grafana 扮演各账号里的只读角色。
- Azure Monitor:服务主体(tenant ID、client ID、secret/certificate)通用;跑在 Azure 上的 Grafana 可用托管身份免密;Kubernetes 环境可上 Workload Identity Federation。
- Google Cloud monitoring:服务账号密钥文件最直接;GCP 上部署可用默认应用凭证(ADC),GKE 上推荐 Workload Identity 绑定服务账号。
原则只有一条:给只读监控权限(如 AWS 的 ReadOnlyAccess 或窄到 CloudWatch 的自定义策略),并优先选择可自动轮换的身份形态。
配置示例:CloudWatch
界面上在数据源页选择认证方式与默认区域即可;多环境建议用 Provisioning 管理:
apiVersion: 1
datasources:
- name: AWS-prod
type: cloudwatch
uid: cw-prod
jsonData:
authType: default
defaultRegion: eu-west-1
assumeRoleEnabled: true
assumeRoleArn: arn:aws:iam::123456789012:role/grafana-metrics-read
字段名称随插件版本有差异,以所用版本的插件文档为准;凭证本体放 secureJsonData 或环境变量,不要写死在版本库里。
成本与区域要点
- 按请求计费的 API:CloudWatch 的指标查询接口按请求收费,Grafana 默认 1 分钟刷新乘以几十个面板,账单会教你做减法——调低刷新频率、用变量减少查询数、给热点查询加缓存。
- 区域是查询属性:CloudWatch 数据源按默认区域发查询,多区域架构要么每区域一个数据源,要么用模板变量切换区域。
- 指标有延迟:云厂商平台指标通常滞后一到几分钟,告警评估窗口别贴着「现在」。
- 配额与限流:三个云对监控 API 都有速率配额,大面积面板同时刷新容易触发退避重试。
注意: 权限不足时常表现为「下拉框里区域/命名空间是空的」而不是报错,排查云数据源问题先查 IAM 策略,再查网络。
下一步
- 数据源的通用户型与维护,见数据源概念与管理。
- 插件的安装与升级,见插件机制:安装与管理。
- 用云指标做告警,见告警规则。