托管 Prometheus 服务具备良好的开源生态亲和性,支持云原生监控,并支持开源社区提供的各种 SDK、Exporter,可以实现对各种环境、中间件、自定义应用的监控需求。本文为您介绍如何采用不同的方式,将您的业务接入托管 Prometheus 服务。
托管 Prometheus 面向火山引擎云端服务的接入和监控,根据采集目标的底层资源和数据的链路方式不同,可以分为以下几种:
说明
火山引擎云服务的监控方案详情和配置方式,请参见 云服务接入。
对于用户的自研系统,可以使用 Prometheus 社区中提供的 SDK,在应用开发时对业务的监控指标进行定义,然后通过托管 Prometheus 服务对应用或者服务内部的一些状态进行监控。例如:请求数,队列数等。也可以对一些核心逻辑的处理耗时进行监控,如请求外部服务的耗时情况等。
Prometheus 开源社区支持多种类型的开发语言 SDK,您可以选择相关的 SDK 进行业务埋点开发。详情请参见 官方文档。
对于很多的传统应用、中间件、硬件和系统等,由于没有提供用于 Prometheus 监控的接口,也不支持 Prometheus 数据格式。为了让用户能够享受一致性的监控体验,Prometheus 提出了 Exporter 的解决方案。
Exporter 是为了适应 Prometheus 的一类数据采集组件的总称。它负责从目标处搜集数据,并将其转化为 Prometheus 支持的格式。以此来保证那些没有 Prometheus 接口的应用、硬件或系统,也可以使用 Prometheus 实现监控。
Prometheus 开源社区提供多种类型的 Exporter,用于采集各种不同服务的指标。包括:数据库、硬件、消息中间件、存储系统、HTTP 服务器等。详情请参见 开源社区 exporter 列表。
另外,您也可以基于 Prometheus 提供的 Client Library 创建自定义的 Exporter。Promthues 社区官方提供了对 Go、Java、Python、Ruby 等语言的支持。详情请参见 官方文档。
您可以使用托管 Prometheus 服务和开源 Exporter 集成的方式,完成常用应用、中间件或系统的监控。详细的集成步骤,请参见: