【问题标题】:Nginx stub_status: Ignore own requestsNginx stub_status:忽略自己的请求
【发布时间】:2017-01-11 08:41:07
【问题描述】:

在Nginx中启用stub_status时,可以查询服务器的统计信息:

location /stats {
    stub_status on;
    access_log off;
    allow 127.0.0.1;
    deny all;
}

我对“处理的请求”指标感兴趣。问题是这个指标包含了为查询当前状态而发送的请求。

有没有办法忽略报告数据中针对/stats 的请求?

【问题讨论】:

    标签: nginx monitoring


    【解决方案1】:

    正如您在source code 中看到的那样,计数器在创建新请求“对象”的那一刻准确地递增。也就是说,甚至在解析任何请求标头(包括 URI)之前。所以答案是否定的,遗憾的是没有办法告诉 Nginx 不要计算对特定 URI 的请求。

    但是,有两种方法可以解决此问题。不幸的是,它们都涉及构建您自己的 Nginx 副本:

    1. 您可以直接修补stub status module Nginx,每次stub_status 指令生成输出时减少请求计数器。为此,您只需要在this function 末尾包含this line

    2. 另一种更合适的方法是引入你自己的模块,它会做同样的事情。这是这样一个模块的快速制作的example。有点令人惊讶,但您不需要强大的 C 知识来创建简单的模块,因为 Nginx 提供了自己的框架,而且 GitHub 上也有数百个示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-12
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      • 2014-02-14
      相关资源
      最近更新 更多