【问题标题】:How to export application level metrics using django-prometheus and prometheus-client?如何使用 django-prometheus 和 prometheus-client 导出应用程序级指标?
【发布时间】:2018-01-07 15:39:23
【问题描述】:

我有一个 Django 应用程序作为 uwsgi 服务器向客户端公开,在 wsgi.ini 中设置了多个进程和线程。我阅读了 django-prometheus 文档并实现了模型指标。我可以在浏览器上查看通过 /metrics 端点公开的模型指标。但是文档说:

您可以在代码中添加应用程序级别的指标,方法是使用 prometheus_client 直接。出口商是全球性的,并将回升 您的指标。

但是我看不到这些指标的值在增加。它们保持为 0.0。

我在wsgi.ini 文件中添加了 lazy = trueenable-threads = true。同样正如文档建议的那样,我添加了

PROMETHEUS_METRICS_EXPORT_PORT_RANGE = xrange(8001, 8050)

在我的settings.py 文件中为不同的工作人员通过不同的端口导出。但是我仍然没有看到结果。需要做些什么才能最终查看我为不同的 celery worker 和 api 添加的应用程序级别指标?

【问题讨论】:

    标签: python django uwsgi metrics prometheus


    【解决方案1】:

    python prom_client 文档不是很好,但是它确实可以很容易地公开应用程序级别的指标。

    听起来您可能没有在您的应用中正确实现 Prometheus 指标类型。指向我的代码,我会很乐意看看。

    您可能想查看博文here。通过在烧瓶网络应用程序上使用 prom_client 的示例。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      如果您将指标构建到 celery worker 中,它们很可能属于“临时工作”类别,在这种情况下,您需要使用 Pushgateway 将指标发送到 Prometheus。如果这没有帮助,遵循custom application metrics with Prometheus, Django, and Kubernetes 上的本指南可能会提供一些指导。

      【讨论】:

        猜你喜欢
        • 2018-05-14
        • 2020-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-13
        • 2022-06-17
        • 1970-01-01
        • 2019-04-30
        相关资源
        最近更新 更多