为什么很多开源组件的指标采集都是 exporter 形式?

153 天前
 AuroraTwinkle

如果,发现很多开源组件的普罗米修斯指标都是通过外挂 exporter 程序的形式暴露出来的,例如:consul-exporter,rocketmq-exporter,redis-exporter 等等,这样做有什么好处吗?出于性能考虑?

1223 次点击
所在节点    程序员
9 条回复
weijancc
153 天前
prometheus 是主动请求 http 接口获取指标的, 你用 prometheus 那它的组件就必须是 exporter 形式
hzj629206717
153 天前
因为应用的指标输出不是 Prometheus 的协议和格式,需要一个 exporter 来适配。
(那你可能要问了,为什么应用不原生支持 Prometheus 采集? Up to the author's decision.)
deorth
153 天前
你可以二开原应用,把这个功能加上去
AuroraTwinkle
153 天前
@hzj629206717 嗯嗯,比较好奇不原生集成 Prometheus 的考虑是不是怕影响性能?
AuroraTwinkle
153 天前
@weijancc 嗯嗯,我更想问的是,为啥不集成到应用代码里,而是外挂 exporter 的形式
AuroraTwinkle
153 天前
@deorth 可以的,主要是想了解下用外挂 exporter 而不是原生集成的原因
dextercai
153 天前
Prometheus Pull 的这种形式需要暴露 HTTP 端点,但实现指标观测并不一定完全需要 Prometheus 。
观测组件有很多,比如结合 OpenTelemetry 生态,可以主动推送给 Prometheus ,或者推给 ElasticAPM 。
AuroraTwinkle
152 天前
@dextercai 多谢指点
julyclyde
152 天前
为什么 exporter 格式:
大概是 prometheus 已经成为事实上的标准了
不选这标准的,大概都是要在企业内评职称的

为什么外挂:
应该是被监控的软件本身不支持且懒得支持 http 协议吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/998705

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX