如何在普罗米修斯中公开 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 消费者推送到普罗米修斯