尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CloudWatch 原生支持 OpenTelemetry 了:PromQL 查询 + 按 GB 计费,监控方案可以简化了

CloudWatch 原生支持 OpenTelemetry 了:PromQL 查询 + 按 GB 计费,监控方案可以简化了
📅 发布时间:2026/7/18 12:55:46

之前在 AWS 上搞监控,如果你用了 OpenTelemetry(OTel),通常需要这样一条链路:

应用 → OTel Collector → Prometheus(自建)→ Grafana

或者:

应用 → OTel Collector → CloudWatch Agent → CloudWatch Custom Metrics(按指标数计费,贵)

现在 CloudWatch 直接支持 OTLP 协议接收指标、用 PromQL 查询,还按 GB 计费。翻译成人话:不需要自建 Prometheus 了,也不用担心指标数爆炸账单飞起。

这次更新具体给了什么

  1. 原生 OTLP 端点 —— 应用直接往 CloudWatch 发 OTel 格式的指标
  2. PromQL 查询 —— 不用学 CloudWatch 那套查询语法,直接写 PromQL
  3. Prometheus 兼容 API —— Grafana 直连 CloudWatch 当 Prometheus 数据源
  4. 按 GB 计费 —— 不再按指标数(metric count)收费
  5. 15 个月存储 —— 自动保留,不需要额外配置 retention
  6. 70+ AWS 服务的 vended metrics —— 和你的自定义指标放一起查

对比一下老方案

维度 自建 Prometheus CloudWatch 旧方案 CloudWatch + OTel(新)
部署 EC2/EKS + 运维 托管 托管
接入协议 Prometheus scrape CloudWatch Agent/PutMetricData OTLP(推送)
查询语言 PromQL CloudWatch Metrics Insights PromQL
计费模型 EC2 成本 按指标数($0.30/metric/mo) 按 GB 接入量
存储 自己管 15 个月(标准分辨率) 15 个月(含)
高可用 自己搭 内置 内置
Grafana 兼容 原生 需插件 原生(Prometheus API)

关键变化:计费从"按指标数"变成"按 GB"。

这对微服务架构来说太重要了——之前每个 Pod 暴露几百个指标,服务一多指标数轻松过万,每月光 CloudWatch Custom Metrics 就几百刀。现在按 GB 算,指标数不再是负担。

怎么接入

方案 1:OTel Collector 直推 CloudWatch

# otel-collector-config.yaml
receivers:otlp:protocols:grpc:endpoint: "0.0.0.0:4317"http:endpoint: "0.0.0.0:4318"exporters:awscloudwatch:region: "us-east-1"namespace: "MyApp"# 新的 OTLP 模式,不再需要转换为 EMFmode: "otlp_native"service:pipelines:metrics:receivers: [otlp]exporters: [awscloudwatch]

方案 2:应用直接发 OTLP

from opentelemetry import metrics
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import OTLPMetricExporter# 直接指向 CloudWatch OTLP 端点
exporter = OTLPMetricExporter(endpoint="https://otlp.monitoring.us-east-1.amazonaws.com:4317",headers={"x-aws-region": "us-east-1"}
)reader = PeriodicExportingMetricReader(exporter, export_interval_millis=60000)
provider = MeterProvider(metric_readers=[reader])
metrics.set_meter_provider(provider)# 正常使用 OTel API 记录指标
meter = metrics.get_meter("my-service")
request_counter = meter.create_counter(name="http_requests_total",description="Total HTTP requests",unit="1"
)# 在业务代码中
request_counter.add(1, {"method": "GET", "path": "/api/users", "status": "200"})

方案 3:Grafana 直连 CloudWatch(Prometheus API)

# grafana datasource 配置
apiVersion: 1
datasources:- name: CloudWatch-PromQLtype: prometheusurl: https://aps.us-east-1.amazonaws.com/workspaces/YOUR_WORKSPACE_IDaccess: proxyjsonData:sigV4Auth: truesigV4Region: us-east-1

配好之后,在 Grafana 里直接写 PromQL:

# 查询过去 5 分钟的请求率
rate(http_requests_total{service="my-api"}[5m])# P99 延迟
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket{service="my-api"}[5m]))# AWS vended metrics 也能用 PromQL 查
aws_ec2_cpu_utilization{instance_id="i-0123456789abcdef0"}

迁移路径

如果你现在是自建 Prometheus:

  1. 不需要改应用代码 —— OTel SDK 不变,只改 exporter 目标地址
  2. 不需要改 Grafana dashboard —— PromQL 查询不变,只改数据源
  3. 不需要改告警规则 —— 基于 PromQL 的 alert 直接迁移

实际操作就三步:

# 1. 改 OTel Collector 的 exporter
sed -i 's/prometheus_remote_write/awscloudwatch/' otel-collector-config.yaml# 2. 改 Grafana 数据源 URL
# 从 http://prometheus:9090 → CloudWatch Prometheus 兼容端点# 3. 关掉 Prometheus 实例
kubectl delete statefulset prometheus

什么场景用新方案

适合的:

  • 微服务 50+ 个,指标数上万,自建 Prometheus 运维成本高
  • 已经在用 OTel SDK,想减少基础设施
  • 团队不想管 Prometheus 的存储扩容、高可用、备份
  • 希望 AWS 服务指标和应用指标统一查询

不适合的:

  • 指标量很小(< 100 个),按指标数计费可能更便宜
  • 需要 Prometheus 的 recording rules、federation 等高级功能(CloudWatch 未必全支持)
  • 合规要求数据不能出自己的 VPC(需要确认 OTLP 端点的网络路径)

注意事项

  1. 区域限制 —— 除 UAE、Bahrain、Tel Aviv 外的所有商用区域可用
  2. 计费细节 —— "按 GB" 指的是接入数据量,不是存储量。具体定价看 CloudWatch pricing 页面
  3. 和 AMP 的关系 —— Amazon Managed Prometheus(AMP)仍然存在,新功能是 CloudWatch 原生集成。如果你已经在用 AMP 跑得好好的,不一定要迁
  4. Collector vs 直推 —— 生产环境建议保留 OTel Collector 做缓冲和批处理,别让应用直连

总结

CloudWatch 这次更新做了一件正确的事:拥抱开源标准,而不是强推私有协议。

对于已经在 OTel + Prometheus 生态的团队来说,现在多了一个"把 Prometheus Server 卸掉、用 CloudWatch 托管"的选项。该不该迁,看你们自建 Prometheus 的运维成本——如果团队有专职 SRE 盯着,自建可能更灵活;如果是开发团队兼职运维,CloudWatch 托管能省不少心。

文档:https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html
定价:https://aws.amazon.com/cloudwatch/pricing/

相关新闻

  • 2026年北投和璟深度解析:副中心政务区改善住宅的稀缺性与配套痛点 - 品牌推荐
  • 【文献速递】告别枝晶隐患!木质素碳纤维 + 银纳米颗粒,给钠金属电池装上 “安全 buff”!
  • 光伏跟踪支架非标连接件应用详解_上海紧固件展干货满满

最新新闻

  • OBS Studio多机位直播架构:从场景管理到专业级切换的工作流优化
  • mlx-community/gemma-4-e2b-it-6bit核心功能解析:从图像token到多模态交互全流程
  • 2026湘潭卫生间漏水检测找谁靠谱?对比本地3家正规公司报价与服务保障(7月整理) - 防水企业百科
  • OpenBidKit_Yibiao:开源免费的智能标书制作工具,知识库管理与内容查重一体化解决方案
  • 嵌入式系统冷启动全解析:NAND/MMC介质缺陷处理与文件系统导航
  • Jetpack Compose BOM:简化Android UI开发的版本管理利器

日新闻

  • 宝珀中国官方售后服务中心|官方热线和维修地址权威信息声明(2026年7月更新) - 宝珀官方售后服务中心
  • # 2026年北京知识产权律师推荐怎么选?看这五点关键不踩雷 - 本地品牌推荐
  • 2026实测教程:生成的拼豆图纸不满意怎么修改才省事 - 省事研究所

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号