本篇目录5 节

05数据源Data Sources

云厂商监控数据源

接入 CloudWatch、Azure Monitor 与 Google Cloud Monitoring 时,难点往往不在图表而在凭证:静态密钥、STS 扮演角色、托管身份各有适用场景。本文概览三者配置要点与成本、区域注意事项。

约 2 分钟/613 字/GRAFANA 12.X

三大云监控数据源概览

数据源 云厂商 覆盖信号 查询方式
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 策略,再查网络。

下一步

本页为学习整理的中文改写,依据Grafana 官方文档最新版本编写(以 Grafana 12.x 为基准),操作路径请以实际产品界面为准。

Data Sources