我可以使用Prometheus列出正在处理或已经处理的文件吗?

时间:2019-12-10 13:07:49

标签: python logging prometheus grafana data-pipeline

我需要知道应用程序处理每个文件的时间。所以我的意思是:同一文件通过每个服务,我需要知道每个管道时间。普罗米修斯(Prometheus),例如格拉法纳(Grafana),这可能吗?还是有另一种工具?甚至...我需要自己实施吗? (糟糕:服务在Python中运行)

1 个答案:

答案 0 :(得分:0)

嗯,这是一个非常广泛的问题,只能得到广泛的回答。我敢肯定,这里的社区会要求您先仔细研究一下,然后再发布问题:How to Ask


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

如果处理文件的服务不是批处理作业或cronjobs,并且可以公开API端点,请公开度量标准,例如“ / metrics”。这只是发布部分。然后,Prometheus服务可以使用其scrape_config配置来使用度量标准终结点。进一步了解here

如果服务无法公开终结点,从而无法公开指标,则它们可以将指标“推送”到Prometheus推送网关,并且Prometheus可以配置为刮取网关。进一步了解here

还必须注意,建议不要尝试每个文件发布指标。通常的做法是按文件类型发布指标。

一旦Prometheus中所有指标均可用,Grafana便可以从Prometheus中读取并显示图形。

在设置所有其他架构决定时,可能需要做出许多决定,但此处涉及的范围相当广泛。希望这个答案能为您提供一些参考。监控愉快!