如何在普罗米修斯中公开 nginx 指标? [关闭]

Posted

技术标签:

【中文标题】如何在普罗米修斯中公开 nginx 指标? [关闭]【英文标题】:how expose nginx metrics in prometheus? [closed] 【发布时间】:2021-04-10 09:37:08 【问题描述】:

所以我的问题是 仅使用 docker 公开 nginx 指标的方法?因为我在网上读过,我看到了这样的东西https://github.com/nginxinc/nginx-prometheus-exporter 我想要的是监视 Nginx 日志以查找失败的响应。

$ docker run -p 9113:9113 nginx/nginx-prometheus-exporter:0.8.0 -nginx.scrape-uri http://<nginx>:8080/stub_status

【问题讨论】:

嗨。我不确定这里似乎不清楚。文档清楚地显示了使用 nginx-exporter github.com/nginxinc/… 的非 docker 方式 很抱歉这是我第一次在这么多信息中迷失了方向,我正在寻找一种方法来导出 Nginx 指标 让我们看看我们需要什么。我们需要获取 Nginx “指标”,然后将其“导出”到 Prometheus。如何获取指标?如果您可以使用 Nginx 自动创建的指标或找出其他方法来创建它们。如何将它们发送到 Prometheus?首先,您必须将指标转换为 Prometheus 想要的格式。那么实际发送它是一件容易的事。 nginx-prometheus-exporter 是一个二进制文件,旨在自动化所有这些。它将采用内置的 Nginx 指标,将其转换为 Prometheus 格式,然后将其发送出去。现在,这是否满足您的要求,那就太好了!否则,您可以修改代码或创建自己的解决方案 最后,我刚刚注意到您的最后评论。 “我想监控 Nginx 日志……”。我的错。 nginx-prometheus-exporter 在这里并没有真正的帮助。相反,您需要的是一个可以实时读取日志、解析和理解模式(例如:寻找失败的响应)然后将其发送给 Prometheus 的工具。如果有意义的话,也许可以看看 ELK 堆栈 【参考方案1】:

总结我们在 cmets 中的讨论:

    node-prometheus-exporter 是获取 Nginx 内置指标并将其发送到 Prometheus 的便捷工具。但是,如果您需要任何专门的指标,则必须修改源代码或创建自己的解决方案。 我认为您特别想检查 Nginx 日志中是否有响应失败。这保证了日志聚合和/或解析工具以及与 Prometheus 的相应连接。为此,您可以查看 ELK 家族的一些好东西或自己构建一个快速脚本。

【讨论】:

以上是关于如何在普罗米修斯中公开 nginx 指标? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JMX 导出器将 JMX 指标从 Kafka 消费者推送到普罗米修斯

Promethues-如何监控容器

Promethues如何监控容器

在同一张图中聚合不同的普罗米修斯指标

如何在普罗米修斯中使用 relable_config 为指标添加前缀

如何在普罗米修斯中对具有高基数的指标发出警报