如何使用 OpenTelemetry 将 Prometheus 导出到 Google Cloud Monitoring?

Posted

技术标签:

【中文标题】如何使用 OpenTelemetry 将 Prometheus 导出到 Google Cloud Monitoring?【英文标题】:How to export Prometheus to Google Cloud Monitoring using OpenTelemetry? 【发布时间】:2022-01-14 03:01:41 【问题描述】:

我们有一个 ASGI api (FastAPI),在这个 API 中我们有一个指标 Prometheus 端点。如何使用 OpenTelemetry 将这些指标导出到 Google Cloud Monitoring。不使用边车。

【问题讨论】:

你的应用在 K8S 上运行吗? 不,只是 Cloud Run。 【参考方案1】:

如果你想将你的 Open Telemetry 指标导出到 Cloud Monitoring,Prometheus 没用,你可以直接使用 Open Telemetry - CLoud Monitoring 集成。

在 python 中,您有一个开放遥测导出器,可以让您执行此操作。没有边车。

然后,如果您需要使用 PromQL 查询指标,您可以使用Managed Services for Prometheus,它提供了一个兼容的 PromQL 端点并基于 Monarch(Google 内部日志系统)

【讨论】:

【参考方案2】:

OpenTelemetry 确实没有办法抓取我所知道的 Prometheus 端点。如果可以的话,我会建议简单地使用 Prometheus/Cloud Monitoring 集成。否则,您可以检测您的应用以使用 OpenTelemetry 写入 Cloud Monitoring。

【讨论】:

为了使用这个,我需要有一个边车,对吗? 是的,我没找到怎么做。但是,您对如何将这个已经存在的端点指标导出到 Google Cloud Monitoring 有什么建议吗? 其实有些 OTEL 收藏家提供 Prometheus,例如aws-otel.github.io/docs/components/prometheus-exporters 。您需要配置 Prometheus 接收器github.com/open-telemetry/opentelemetry-collector-contrib/tree/… 来抓取指标并远程写入 Prometheus 导出器 github.com/open-telemetry/opentelemetry-collector-contrib/tree/… 来推送

以上是关于如何使用 OpenTelemetry 将 Prometheus 导出到 Google Cloud Monitoring?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 OpenTelemetry Java 代理生成的跟踪导出到 Google Cloud Trace?

OpenTelemetry Python - 如何将新跨度实例化为给定 traceid 的子跨度

[从`prom-client`模块导入`prom`,但已安装。如何“相应地导入prom-client”?

如何选择 Opentelemetry 后端供应商?

如何从字符串 traceid 创建 opentelemetry span

使用OpenTelemetry搭配Zipkin构建NetCore分布式链路跟踪 | WebAPI + gRPC