【问题标题】:Can I use Prometheus to list the files processing or already processed?我可以使用 Prometheus 列出正在处理或已经处理的文件吗?
【发布时间】:2020-04-03 16:22:28
【问题描述】:

我需要知道处理某些文件的应用程序的每个服务的时间。所以我的意思是:同一个文件通过每个服务,我需要知道每个管道时间。 Prometheus 和 Grafana 等有可能做到这一点吗?还是有其他工具呢?甚至......我需要自己实现它吗? (Obs:服务在 Python 中运行)

【问题讨论】:

    标签: python logging prometheus grafana data-pipeline


    【解决方案1】:

    嗯,这是一个非常宽泛的问题,只能宽泛地回答。我相信这里的社区会在发布问题之前要求您完成此操作:How to Ask


    根据我从问题中了解到的情况,正在寻找的是自定义指标。 Prometheus 广泛用于收集指标。您可以使用 prometheus_client 之类的库,并测量每个阶段处理文件所花费的时间。

    如果处理文件的服务不是批处理作业或 cronjobs 并且可以公开 API 端点,则公开指标,例如“/metrics”。这只是出版部分。然后,Prometheus 服务可以使用其 scrape_config 配置来使用指标端点。阅读更多关于它的信息here

    如果服务无法公开端点和指标,它们可以将指标“推送”到 Prometheus 推送网关,并且可以将 Prometheus 配置为抓取网关。阅读更多关于它的信息here

    还必须注意,尝试发布每个文件的指标是不可取的。一般的做法是按文件类型发布指标。

    在 Prometheus 中提供所有指标后,Grafana 就可以从 Prometheus 读取数据并显示图表。

    在进行全部设置时,可能需要做出无数其他架构决策,但此处涵盖的范围相当广泛。希望这个答案能迅速为您提供一些参考。祝您监控愉快!

    【讨论】:

    • 喜欢关于按文件类型发布指标的建议,它解决了问题!也感谢您的提示。
    猜你喜欢
    • 2016-05-14
    • 2011-05-17
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多