模块 ngx_http_status_module
Example Configuration Directives status status_format status_zone Data Compatibility |
该ngx_http_status_module
模块提供对各种状态信息的访问。
该模块作为我们的商业订阅的 一部分提供, 直至 2010 年 13 月 13 日。它在 1.13.3 中被ngx_http_api_module模块取代 。
配置示例
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
该发行版附带了简单的监控页面,/status.html
在默认配置中可以通过“ ”进行访问。它需要如上所示配置
位置“ /status
”和“ ”。/status.html
指令
句法: |
status; |
---|---|
默认: | — |
语境: |
location |
可以从周围位置访问状态信息。对该位置的访问应受到 限制。
句法: |
status_format status_format |
---|---|
默认: |
status_format json; |
语境: |
http , server ,location |
默认情况下,状态信息以JSON格式输出。
或者,数据可以输出为 JSONP。该callback
参数指定回调函数的名称。参数值可以包含变量。如果省略参数,或者计算出的值为空字符串,则ngx_status_jsonp_callback
使用“ ”。
句法: |
status_zone |
---|---|
默认: | — |
语境: |
server |
允许收集指定 中的
虚拟
http
或
流zone
(1.7.11) 服务器状态信息。多个服务器可能共享同一个区域。
数据
提供以下状态信息:
version
- 所提供数据集的版本。当前版本是8。
nginx_version
- nginx 的版本。
nginx_build
- nginx 构建的名称。
address
- 接受状态请求的服务器的地址。
generation
- 配置重新 加载的总数 。
load_timestamp
- 上次重新加载配置的时间(自纪元以来的毫秒数)。
timestamp
- 自纪元以来的当前时间(以毫秒为单位)。
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
- 服务器指令 中指定的服务器的名称 。
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
-
服务器变为“
unavail
”、“checking
”或“unhealthy
”的时间(自纪元以来的毫秒数)。 selected
- 上次选择服务器处理请求的时间(自纪元以来的毫秒数)(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
- 一个布尔值,指示“缓存加载器”进程是否仍在将数据从磁盘加载到缓存中。
-
hit
,stale
,updating
,revalidated
-
responses
- 从缓存读取的响应总数(命中或由于proxy_cache_use_stale 等原因导致的过时响应)。
bytes
- 从缓存中读取的总字节数。
-
miss
,expired
,bypass
-
responses
- 未从缓存中获取的响应总数(由于 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
- 服务器指令 中指定的服务器的名称 。
service
- 服务器指令 的 服务参数 值。
backup
- 一个布尔值,指示服务器是否是 备份 服务器。
weight
- 服务器的 重量。
state
up
当前状态,可以是“ ”、“down
”、“unavail
”、“checking
”或“ ” 之一unhealthy
。active
- 当前连接数。
max_conns
- 服务器的 max_conns 限制。
connections
- 转发到此服务器的客户端连接总数。
connect_time
- 连接到上游服务器的平均时间。在1.11.6版本之前,该字段仅在使用least_time负载均衡方法时可用 。
first_byte_time
- 接收第一个数据字节的平均时间。在1.11.6版本之前,该字段仅在使用least_time负载均衡方法时可用 。
response_time
- 接收最后一个数据字节的平均时间。在1.11.6版本之前,该字段仅在使用least_time负载均衡方法时可用 。
sent
- 发送到该服务器的总字节数。
received
- 从该服务器接收的总字节数。
fails
- 尝试与服务器通信失败的总数。
unavail
unavail
由于不成功尝试次数达到 max_fails阈值而导致 服务器无法用于客户端连接(状态“ ”)的次数 。health_checks
downtime
-
服务器处于“
unavail
”、“checking
”和“unhealthy
”状态的总时间。 downstart
-
服务器变为“
unavail
”、“checking
”或“unhealthy
”的时间(自纪元以来的毫秒数)。 selected
- 上次选择服务器处理连接的时间(自纪元以来的毫秒数)。
zombies
- 当前从组中删除但仍在处理活动客户端连接的服务器数量。
zone
- 保存组配置和运行时状态的 共享内存区域 的名称 。
兼容性
- http和stream uploads中的 zone 字段 是在版本8 中添加的。
- 在版本8 中添加了板状态 数据。
- 检查 状态是在版本8中添加的。
- 在版本8 中添加了http和流上游中的 名称 和服务字段 。
- nginx_build 和ppid字段是在版本8中添加的。
- 版本7 中添加了流server_zones中的会话状态 数据 和丢弃字段。
- 在版本6 中, 僵尸字段已从 nginx调试版本中移出。
- 版本6中添加了ssl状态 数据。
- server_zones中的 discarded 字段 是在版本6 中添加的。
- 版本6 中添加了队列状态 数据。
- pid 字段是在版本6中添加的。
- 在 版本6 中,上游 服务器列表 已移至对等体中。
keepalive
上游服务器字段在 版本5中被删除。- 版本5中添加了 流状态数据。
- 版本5中添加了 生成 字段。
- 版本5 中添加了进程中的 respawned 字段 。
- 上游中的 header_time 和response_time字段 是在版本5中 添加的。
- 上游的 选定 字段 是在版本4 中添加的。
- 上游的耗尽状态 是在版本4中 添加的。
- 上游中的 id 和max_conns字段 是在版本3中 添加的。
- 缓存
revalidated
中的字段 是在版本3 中添加的。 - server_zones 、caches和load_timestamp状态数据已在版本2中添加。