模块 ngx_http_status_module
status_zone 数据 兼容性status_format 配置 Directives 状态 示例 |
这ngx_http_status_module
module 提供
访问各种状态信息。
此模块作为我们商业订阅的一部分提供,直到 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 status_format |
---|---|
默认值: |
status_format json; |
上下文: |
http ,server ,location |
默认情况下,状态信息以 JSON 格式输出。
或者,数据可以输出为 JSONP。
这callback
parameter 指定回调函数的名称。
Parameter value 可以包含变量。
如果省略 parameter 或计算值为空字符串,
然后”ngx_status_jsonp_callback
“。
语法: |
status_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
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
downtime
- 总时间
服务器位于”
unavail
”, “checking
“ 和 ”unhealthy
“说。 downstart
- 时间(自 Epoch 以来的毫秒数)
当服务器变为
“
unavail
”, “checking
“或 ”unhealthy
”. selected
- 时间(自 Epoch 以来的毫秒数) 上次选择服务器来处理连接的时间。
zombies
- 当前删除的服务器数 从组中,但仍在处理活动的客户端连接。
zone
- 保留组的配置和运行时状态的共享内存区域的名称。
兼容性
- http 和 stream 上游中的 zone 字段 已在版本 8 中添加。
- 板状态数据 在版本 8 中添加。
- 检查状态 已在版本 8 中添加。
- http 和 stream upstream 中的 name 和 service 字段 在版本 8 中添加。
- nginx_build 和 ppid 字段 在版本 8 中添加。
- 会话状态数据 和 流server_zones是在版本 7 中添加的。
- 僵尸领域 已从 nginx 调试版本移动 在版本 6 中。
- ssl 状态数据 在版本 6 中添加。
- server_zones 中的 discarded 字段是在版本 6 中添加的。
- 队列状态数据 在版本 6 中添加。
- pid 字段 已添加到版本 6 中。
- 上游中的服务器列表在版本 6 中被移动到对等节点中。
- 这
keepalive
上行服务器的字段 在版本 5 中删除。 - 流状态数据 在版本 5 中添加。
- 生成字段 已添加到版本 5 中。
- 在版本 5 中添加了 processes 中的 respawned 字段。
- 上游中的 header_time 和 response_time 字段是在版本 5 中添加的。
- 上游中的选定字段是在版本 4 中添加的。
- 上游的 draining 状态是在版本 4 中添加的。
- 上游中的 id 和 max_conns 字段是在版本 3 中添加的。
- 这
revalidated
field 在版本 3 中添加。 - server_zones、缓存、 和 load_timestamp 状态数据 在版本 2 中添加。