ngx_http_status_module

    模块提供了访问各种状态信息的接口。

    使用此配置的状态请求示例:

    1. http://127.0.0.1/status
    2. http://127.0.0.1/status/nginx_version
    3. http://127.0.0.1/status/caches/cache_backend
    4. http://127.0.0.1/status/upstreams
    5. http://127.0.0.1/status/upstreams/backend
    6. http://127.0.0.1/status/upstreams/backend/peers/1
    7. http://127.0.0.1/status/upstreams/backend/peers/1/weight
    8. http://127.0.0.1/status/stream
    9. http://127.0.0.1/status/stream/upstreams
    10. http://127.0.0.1/status/stream/upstreams/backend
    11. http://127.0.0.1/status/stream/upstreams/backend/peers/1
    12. http://127.0.0.1/status/stream/upstreams/backend/peers/1/weight

    简单监视页面随分发包一起提供,使用默认配置可以 /status.html 身份访问。它需要配置 location /status/status.html,如上所示。

    可以从包含有指令的 location 访问状态信息。应访问此 location。

    默认情况下,状态信息以 JSON 格式输出。

    或以输出为 JSONP 格式输出,callback 参数指定回调函数的名称。参数值可以包含变量。如果省略参数,或计算的值为空字符串,则使用 "ngx_status_jsonp_callback"

    允许在指定的 zone 中收集虚拟 http 或(1.7.11)服务器状态信息。多个服务器可能共享同一个区域(zone)。

    提供以下状态信息:

    • version

      提供的数据集的版本。目前的版本是 8。

    • nginx_version

      nginx 的版本。

    • nginx_build

      nginx 的构建名称。

    • address

      接受状态请求的服务器的地址。

    • generation

      配置的总数。

    • load_timestamp

      上次重新加载配置的时间,自 Epoch 后的毫秒数。

    • timestamp

      Epoch 后的当前时间(以毫秒为单位)。

    • pid

      处理状态请求的 worker 进程的 ID。

    • ppid

      启动 worker 进程的主进程的 ID。

    • processes

      • respawned

        异常终止和重生的子进程的总数。

    • connections

      • accepted

        已接受的客户端连接总数。

      • dropped

        已删除的客户端连接总数。

      • active

        当前活动客户端连接数。

      • idle

        当前空闲客户端连接数。

    • ssl

      • handshakes

        SSL 握手成功的总数。

      • handshakes_failed

        SSL 握手失败的总数。

      • session_reuses

        SSL 握手期间会话​​重用的总次数。

    • requests

      • total

        客户端请求总次数。

      • current

        当前的客户端请求数。

    • server_zones

      对于每个 :

      • ngx_http_status_module.html

        当前正在处理的客户端请求数。

      • requests

        从客户端收到的客户端请求总数。

      • responses

        • total

          发送给客户的响应总数。

        • 1xx, 2xx, 3xx, 4xx, 5xx

          状态代码为 1xx、2xx、3xx、4xx 和 5xx 的响应数。

      • discarded

        在未发送响应的情况下完成的请求总数。

      • received

        从客户端收到的总字节数。

    • slabs

      对于每个使用了 slab 分配器的共享内存区域:

      • pages

        • used

          当前使用的内存页数。

        • free

          当前可用内存页数。

      • slots

        对于每个内存插槽大小(8、16、32、64、128 等),提供以下数据:

        • 当前使用的内存槽数。

        • free

          当前可用的内存槽数。

        • reqs

        • fails

          尝试分配指定大小内存的失败次数。

    • upstreams

      对于每个动态可配置组,提供以下数据:

      • peers

        对于每个 ,提供以下数据:

        • id

          服务器的 ID。

        • server

          一个服务器地址

        • name

          指令中指定的服务器的名称。

        • service

          server 指令的服务参数值。

        • backup

          一个布尔值,指示服务器是否为备份服务器。

        • weight

          服务器的权重。

        • state

          当前状态,可以是 updrainingdownunavailcheckingunhealthy 之一。

        • active

          当前活动连接数。

        • max_conns

          服务器的 限制。

        • requests

          转发到此服务器的客户端请求总数。

        • responses

          • total

            从此服务器获取的响应总数。

          • 1xx, 2xx, 3xx, 4xx, 5xx

            状态代码为 1xx、2xx、3xx、4xx 和 5xx 的响应数。

        • sent

          发送到此服务器的总字节数。

        • received

          从此服务器接收的总字节数。

        • fails

          与服务器通信失败的总次数。

        • unavail

          由于尝试不成功的次数达到 max_fails 阈值,服务器对客户端请求变为不可用的次数(状态为 unavail)。

        • health_checks

          • checks

            进行的请求总数。

          • fails

            健康检查失败的次数。

          • unhealthy

            服务器变为不健康的次数(状态 unhealthy)。

          • last_passed

            布尔值,表示上次运行状况检查请求是否成功并通过了测试

        • downtime

          服务器处于 unavailcheckingunhealthy 状态的总时间。

        • downstart

          服务器变为 unavailcheckingunhealthy 时的时间(自 Epoch 以来的毫秒数)。

        • selected

          上次选择的服务器处理一个请求的时间(自 Epoch 以来的毫秒数)(1.7.5)。

        • header_time

          从服务器获取的平均时间(1.7.10)。在 1.11.6 版之前,该字段仅在使用 least_time 负载均衡方法时可用。

        • response_time

          从服务器获得的平均时间(1.7.10)。在 1.11.6 版之前,该字段仅在使用 least_time 负载均衡方法时可用。

      • keepalive

        当前空闲的 连接数。

      • zombies

        当前从组中删除但仍处理活动客户端请求的服务器数。

      • zone

        保持组配置和运行时状态的共享内存区域的名称。

      • queue

        对于请求,提供以下数据:

        • size

          队列中当前的请求数。

        • max_size

          可以同时在队列中的最大请求数。

        • overflows

          由于队列溢出而拒绝的请求总数。

    • caches

      对于每个缓存(由 proxy_cache_path 等配置):

      • size

        当前缓存的大小。

      • max_size

        配置中指定的缓存最大大小限制。

      • cold

        一个布尔值,标识缓存加载器(cache loade)进程是否仍在将数据从磁盘加载到缓存中。

      • hit, stale, updating, revalidated

        • 从缓存中读取的响应总次数(由于 等而导致的命中或过时响应)。

        • bytes

          从缓存中读取的总字节数。

        • responses

          未从缓存中获取的响应总数(由于 proxy_cache_bypass 等原因导致的未命中、过期或绕过)。

        • bytes

          从代理服务器读取的总字节数。

        • responses_written

          写入缓存的响应总数。

        • bytes_written

          写入缓存的总字节数。

    • stream

      • upstreams

        对于每个,提供以下数据:

        • peers

          对于每个服务器,提供以下数据:

          • id

            服务器的 ID。

          • server

            一个服务器。

          • name

            server 指令中指定的服务器的名称。

          • service

            指令的 servive 参数值。

          • backup

            一个布尔值,标识服务器是否为一个服务器。

          • weight

            服务器的权重

          • state

            当前状态,可以是 updownunavailcheckingunhealthy 之一。

          • active

            当前的连接数。

          • max_conns

            服务器的 限制。

          • connections

            转发到此服务器的客户端连接总数。

          • connect_time

            连接上游(upstream)服务器的平均时间。在 1.11.6 版之前,该字段仅在使用 least_time 负载均衡方法时可用。

          • first_byte_time

            接收第一个数据字节的平均时间。在 1.11.6 版之前,该字段仅在使用 负载均衡时可用。

          • response_time

            接收最后一个数据字节的平均时间。在 1.11.6 版之前,该字段仅在使用least_time 负载均衡方法时可用。

          • sent

            发送到此服务器的总字节数。

          • received

            从此服务器接收的总字节数。

          • fails

            与服务器通信失败的总次数。

          • unavail

            由于尝试不成功次数达到 阈值,服务器对客户端连接变为不可用的次数(状态为 unavail

          • health_checks

            • checks

              健康检查的请求总数。

            • fails

              健康检查失败的次数。

            • unhealthy

              服务器处于不健康的次数(状态 unhealthy)。

            • last_passed

              布尔值,表示上次运行状况检查请求是否成功并通过了。

          • downtime

            服务器处于 unavailcheckingunhealthy 状态的总时间。

          • downstart

            服务器变为 unavailcheckingunhealthy 时的时间(自 Epoch 以来的毫秒数)。

          • selected

            上次选中的服务器处理连接的时间(自 Epoch 以来的毫秒数)。

        • zombies

          当前已从组中删除但仍处理活动客户端连接的服务器数。

        • zone

          保持组配置和运行时状态的共享内存区域的名称。

    • 版本 8 中添加了 和 stream upstreams 的 字段。
    • 版本 8 中添加了 状态数据。
    • 版本 8 中添加了状态。
    • 版本 8 中添加了 和 stream upstream 的 和 service 字段。
    • 8 中添加了 nginx_build 和 字段。
    • 版本 7 中添加了 状态数据和流 server_zones 中的 字段。
    • zombies 字段是从 6 的 nginx 调试版本移过来的。
    • 6 中添加了 ssl 状态数据。
    • 中的 discarded 字段已在 6 中添加。
    • queue 状态数据已在 6 中添加。
    • pid 字段已在 6 中添加。
    • upstreams 中的服务器列表已移至 6 中的对应项。
    • 版本 5 中删除了 upstream 服务器的 字段。
    • 状态数据已在版本 5 中添加。
    • 5 中添加了 generation 字段。
    • 中的 respawned 字段已在 5 中添加。
    • 版本 5 中添加了 upstreams 中的 和 response_time 字段。
    • 4 中添加了 upstreams 中的 selected 字段。
    • 4 中添加了upstreams 的 draining 状态。
    • upstreams 中的 和 max_conns 字段已在 3 中添加。
    • 版本 3 中添加了 中的 revalidated 字段。

    http://nginx.org/en/docs/http/ngx_http_status_module.html