模块 ngx_http_status_module

status_zone
数据
兼容性status_format
配置
Directives
状态
示例

ngx_http_status_modulemodule 提供 访问各种状态信息。

此模块作为我们商业订阅的一部分提供,直到 1.13.10。 它已被 ngx_http_api_module 模块取代 在 1.13.3 中。

示例配置

http {
    upstream backend {
        zone http_backend 64k;

        server backend1.example.com weight=5;
        server backend2.example.com;
    }

    proxy_cache_path /data/nginx/cache_backend keys_zone=cache_backend:10m;

    server {
        server_name backend.example.com;

        location / {
            proxy_pass  http://backend;
            proxy_cache cache_backend;

            health_check;
        }

        status_zone server_backend;
    }

    server {
        listen 127.0.0.1;

        location /upstream_conf {
            upstream_conf;
        }

        location /status {
            status;
        }

        location = /status.html {
        }
    }
}

stream {
    upstream backend {
        zone stream_backend 64k;

        server backend1.example.com:12345 weight=5;
        server backend2.example.com:12345;
    }

    server {
        listen      127.0.0.1:12345;
        proxy_pass  backend;
        status_zone server_backend;
        health_check;
    }
}

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

http://127.0.0.1/status
http://127.0.0.1/status/nginx_version
http://127.0.0.1/status/caches/cache_backend
http://127.0.0.1/status/upstreams
http://127.0.0.1/status/upstreams/backend
http://127.0.0.1/status/upstreams/backend/peers/1
http://127.0.0.1/status/upstreams/backend/peers/1/weight
http://127.0.0.1/status/stream
http://127.0.0.1/status/stream/upstreams
http://127.0.0.1/status/stream/upstreams/backend
http://127.0.0.1/status/stream/upstreams/backend/peers/1
http://127.0.0.1/status/stream/upstreams/backend/peers/1/weight

此发行版附带了 Simple Monitoring 页面。 可访问为 ”/status.html“。 它需要位置”/status“ 和 “/status.html“进行配置,如上所示。

Directives

语法: status;
默认值:
上下文: location

可以从周围位置访问状态信息。 应限制访问此位置。

语法: status_format json;
status_format jsonp [callback];
默认值:
status_format json;
上下文: http,server,location

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

或者,数据可以输出为 JSONP。 这callbackparameter 指定回调函数的名称。 Parameter value 可以包含变量。 如果省略 parameter 或计算值为空字符串, 然后”ngx_status_jsonp_callback“。

语法: status_zone zone;
默认值:
上下文: server

启用在指定的 zone. 多个服务器可以共享同一个区域。

数据

提供以下状态信息:

version
所提供数据集的版本。 当前版本为 8。
nginx_version
nginx 的版本。
nginx_build
nginx 版本的名称。
address
接受 status 请求的服务器的地址。
generation
重新加载的配置总数。
load_timestamp
上次重新加载配置的时间,以 Epoch 以来的毫秒为单位。
timestamp
自 Epoch 以来的当前时间(以毫秒为单位)。
pid
处理状态请求的工作进程的 ID。
ppid
已启动的主进程的 ID 工作进程
processes
respawned
异常终止和重生的总数 子进程。
connections
accepted
接受的客户端连接的总数。
dropped
丢弃的客户端连接总数。
active
当前活动客户端连接数。
idle
当前空闲客户端连接数。
ssl
handshakes
成功的 SSL 握手总数。
handshakes_failed
失败的 SSL 握手总数。
session_reuses
SSL 握手期间会话重用的总数。
requests
total
客户端请求的总数。
current
客户端请求的当前数量。
server_zones
对于每个status_zone
processing
的 当前正在处理的客户端请求。
requests
的总数 从客户端收到的客户端请求。
responses
total
的总数 发送到客户端的响应。
1xx,2xx,3xx,4xx,5xx
状态代码为 1xx、2xx、3xx、4xx 和 5xx 的响应数。
discarded
未发送响应而完成的请求总数。
received
从客户端接收的总字节数。
sent
发送到客户端的总字节数。
slabs
对于每个使用 slab 分配器的共享内存区域:
pages
used
当前已使用的内存页数。
free
当前可用内存页数。
slots
对于每个内存插槽大小(8、16、32、64、128 等) 提供以下数据:
used
当前已使用的内存插槽数。
free
当前可用内存槽的数量。
reqs
尝试分配指定大小的内存的总次数。
fails
尝试分配指定大小的内存的失败次数。
upstreams
对于每个动态 可配置 / 提供以下数据:
peers
对于每个服务器, 提供以下数据:
id
服务器的 ID。
server
服务器的地址
name
在 server Directives中指定的服务器的名称。
service
server Directives的 service 参数值。
backup
一个布尔值,指示服务器是否为备份服务器。
weight
服务器的重量
state
当前状态,可能是以下状态之一 “up”, “draining”, “down”, “unavail”, “checking”, 或 “unhealthy”.
active
当前活动连接数。
max_conns
max_conns 限制 对于服务器。
requests
的总数 转发到此服务器的客户端请求。
responses
total
的总数 从此服务器获取的响应。
1xx,2xx,3xx,4xx,5xx
状态代码为 1xx、2xx、3xx、4xx 和 5xx 的响应数。
sent
发送到此服务器的总字节数。
received
从此服务器接收的总字节数。
fails
的总数 与 服务器通信的尝试失败。
unavail
多少次 服务器对客户端请求不可用 (状态”unavail”) 由于达到 max_fails 阈值的失败尝试次数。
health_checks
checks
发出的运行状况检查请求的总数。
fails
运行状况检查失败的数量。
unhealthy
多少次 服务器运行状况不佳(状态为 ”unhealthy”).
last_passed
布尔指示 如果上一个运行状况检查请求成功并通过测试
downtime
总时间 服务器位于”unavail”, “checking“ 和 ”unhealthy“说。
downstart
时间(自 Epoch 以来的毫秒数) 当服务器变为 “unavail”, “checking“或 ”unhealthy”.
selected
时间(自 Epoch 以来的毫秒数) 上次选择服务器处理请求的时间 (1.7.5)。
header_time
获得响应的平均时间 标头 (1.7.10)。 在 1.11.6 版本之前, 仅当使用 least_time Load Balancing 方法时,该字段才可用。
response_time
获取完整 来自服务器的响应 (1.7.10)。 在 1.11.6 版本之前, 仅当使用 least_time Load Balancing 方法时,该字段才可用。
keepalive
当前 idle keepalive 连接。
zombies
当前删除的服务器数 从组,但仍在处理活动的客户端请求。
zone
保留组的配置和运行时状态的共享内存区域的名称。
queue
对于 requests 队列, 提供以下数据:
size
队列中的当前请求数。
max_size
队列中可以同时存在的最大请求数。
overflows
由于队列溢出而被拒绝的请求总数。
caches
对于每个缓存(由 proxy_cache_path 等配置):
size
缓存的当前大小。
max_size
配置中指定的缓存的最大大小限制。
cold
一个布尔值,指示 “cache loader” 进程是否仍在加载 数据从磁盘到缓存中。
hit,stale,updating,revalidated
responses
从缓存中读取的响应总数(点击或过时的响应 由于 proxy_cache_use_stale 等)。
bytes
从缓存中读取的总字节数。
miss,expired,bypass
responses
未从缓存中获取的响应总数(miss、expiration 或 由于 proxy_cache_bypass 等原因而绕过)。
bytes
从代理服务器读取的总字节数。
responses_written
写入缓存的响应总数。
bytes_written
写入高速缓存的总字节数。
stream
server_zones
对于每个status_zone
processing
的 当前正在处理的客户端连接。
connections
的总数 从客户端接受的连接。
sessions
total
已完成的客户端会话总数。
2xx,4xx,5xx
状态代码为 2xx、4xx 或 5xx 完成的会话数。
discarded
未创建会话的情况下完成的连接总数。
received
从客户端接收的总字节数。
sent
发送到客户端的总字节数。
upstreams
对于每个动态 可配置 / 提供以下数据:
peers
对于每个服务器,都提供了以下数据:
id
服务器的 ID。
server
服务器的地址
name
在 server Directives中指定的服务器的名称。
service
server Directives的 service 参数值。
backup
一个布尔值,指示服务器是否为备份服务器。
weight
服务器的重量
state
当前状态,可能是以下状态之一 “up”, “down”, “unavail”, “checking”, 或 “unhealthy”.
active
当前连接数。
max_conns
max_conns 限制 对于服务器。
connections
的总数 转发到此服务器的客户端连接。
connect_time
连接到上游服务器的平均时间。 在 1.11.6 版本之前, 仅当使用 least_time Load Balancing 方法时,该字段才可用。
first_byte_time
接收第一个字节数据的平均时间。 在 1.11.6 版本之前, 仅当使用 least_time Load Balancing 方法时,该字段才可用。
response_time
接收最后一个字节数据的平均时间。 在 1.11.6 版本之前, 仅当使用 least_time Load Balancing 方法时,该字段才可用。
sent
发送到此服务器的总字节数。
received
从此服务器接收的总字节数。
fails
的总数 与 服务器通信的尝试失败。
unavail
多少次 服务器对客户端连接不可用 (状态”unavail”) 由于达到 max_fails 阈值的失败尝试次数。
health_checks
checks
发出的运行状况检查请求的总数。
fails
运行状况检查失败的数量。
unhealthy
多少次 服务器运行状况不佳(状态为 ”unhealthy”).
last_passed
布尔指示 如果上一个运行状况检查请求成功并通过测试
downtime
总时间 服务器位于”unavail”, “checking“ 和 ”unhealthy“说。
downstart
时间(自 Epoch 以来的毫秒数) 当服务器变为 “unavail”, “checking“或 ”unhealthy”.
selected
时间(自 Epoch 以来的毫秒数) 上次选择服务器来处理连接的时间。
zombies
当前删除的服务器数 从组中,但仍在处理活动的客户端连接。
zone
保留组的配置和运行时状态的共享内存区域的名称。

兼容性