V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AuroraTwinkle
V2EX  ›  程序员

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

  •  
  •   AuroraTwinkle · 79 天前 · 1123 次点击
    这是一个创建于 79 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    为什么外挂:
    应该是被监控的软件本身不支持且懒得支持 http 协议吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2618 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:34 · PVG 19:34 · LAX 03:34 · JFK 06:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.