模块 ngx_http_api_module
这ngx_http_api_module
module (1.13.3) 提供 REST API
用于访问各种状态信息,
动态配置上游服务器组,并管理键值对,而无需重新配置 nginx。
该模块取代了 ngx_http_status_module 和 ngx_http_upstream_conf_module 模块。
使用PATCH
或POST
方法
确保有效负载不超过读取客户端请求正文的缓冲区大小,否则,
413(请求实体太大)
错误。
此模块作为我们商业订阅的一部分提供。
示例配置
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; } keyval_zone zone=one:32k state=one.keyval; keyval $arg_text $text zone=one; server { listen 127.0.0.1; location /api { api write=on; allow 127.0.0.1; deny all; } } } 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; } }
所有 API 请求包括 URI 中支持的 API 版本。 使用此配置的 API 请求示例:
http://127.0.0.1/api/9/ http://127.0.0.1/api/9/nginx http://127.0.0.1/api/9/connections http://127.0.0.1/api/9/workers http://127.0.0.1/api/9/http/requests http://127.0.0.1/api/9/http/server_zones/server_backend http://127.0.0.1/api/9/http/caches/cache_backend http://127.0.0.1/api/9/http/upstreams/backend http://127.0.0.1/api/9/http/upstreams/backend/servers/ http://127.0.0.1/api/9/http/upstreams/backend/servers/1 http://127.0.0.1/api/9/http/keyvals/one?key=arg1 http://127.0.0.1/api/9/stream/ http://127.0.0.1/api/9/stream/server_zones/server_backend http://127.0.0.1/api/9/stream/upstreams/ http://127.0.0.1/api/9/stream/upstreams/backend http://127.0.0.1/api/9/stream/upstreams/backend/servers/1
Directives
语法: |
api
[ |
---|---|
默认值: | — |
上下文: |
location |
打开周围位置的 REST API 接口。 应限制访问此位置。
这write
参数确定 API
是只读或读写的。
默认情况下,API 是只读的。
所有 API 请求都应在 URI 中包含受支持的 API 版本。
如果请求 URI 等于位置前缀,
返回支持的 API 版本列表。
当前 API 版本为 ”9
”.
可选的”fields
“ 参数
指定将输出所请求对象的哪些字段:
http://127.0.0.1/api/9/nginx?fields=version,build
语法: |
status_zone |
---|---|
默认值: | — |
上下文: |
server ,location ,if in location |
该Directives出现在版本 1.13.12 中。
从 1.17.0 开始,可以收集状态信息
每个位置。
特殊值off
禁用统计信息收集
在嵌套的 location 块中。
请注意,将收集统计信息
在处理结束的位置的上下文中。
它可能与原始位置不同,如果internal
重定向发生在请求处理期间。
兼容性
- /license 数据 在版本 9 (1.27.2) 中添加。
- /workers/ 数据 在版本 9 中添加。
- 详细的失败计数器已添加到 SSL 统计信息中 在版本 8 (1.23.2) 中。
- 这
ssl
数据 对于每个 HTTP 上游、服务器区域, 和流上游、服务器区域、 在版本 8 (1.21.6) 中添加。 - 这
codes
数据 在responses
对于每个 HTTP 上游、服务器区域和位置区域,都在版本 7 中添加。 - /stream/limit_conns/ 数据 在版本 6 中添加。
- /http/limit_conns/ 数据 在版本 6 中添加。
- /http/limit_reqs/ 数据 在版本 6 中添加。
- 这
expire
“参数从版本 5 开始可以设置或更改。 - /resolvers/ 数据 在版本 5 中添加。
- /http/location_zones/ 数据 在版本 5 中添加。
- 这
path
和method
nginx error 对象的字段在版本 4 中删除。 这些字段在早期的 API 版本中继续存在, 但显示一个空值。 - /stream/zone_sync/ 数据 在版本 3 中添加。
- drain 参数 已添加到版本 2 中。
- /stream/keyvals/ 数据 在版本 2 中添加。
端点
-
/
-
支持的方法:
-
GET
- 返回根终端节点列表返回根终端节点的列表。
可能的响应:
- 200 - 成功,返回字符串数组
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/nginx
-
支持的方法:
-
/processes
-
支持的方法:
-
/connections
-
支持的方法:
-
/slabs/
-
支持的方法:
-
GET
- 所有板的返回状态使用 slab 分配器返回每个共享内存区域的 slab 状态。
请求参数:
fields
(string
,可选)- 限制将输出楼板区域的字段。如果显示”
fields
“ 值为空,则仅输出区域名称。
可能的响应:
- 200 - 成功,返回所有 slab 的 “Shared memory zone with slab allocator” 对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/slabs/{slabZoneName}
- 所有方法的通用参数:
slabZoneName
(string
,必需)- 具有 slab 分配器的共享内存区域的名称。
支持的方法:
-
GET
- 板的返回状态使用 slab 分配器返回特定共享内存区域的 slab 状态。
请求参数:
fields
(string
,可选)- 限制将输出 slab 区域的字段。
可能的响应:
- 200 - 成功,返回带有 slab 分配器的共享内存区域
- 404 - 找不到板 (
SlabNotFound
), 未知版本 (UnknownVersion
),返回 Error
-
DELETE
- 重置 slab 统计信息重置 ”
reqs
“ 和 ”fails
“ 指标。可能的响应:
-
/http/
-
支持的方法:
-
GET
- 返回 HTTP 相关端点的列表返回第一级 HTTP 终端节点的列表。
可能的响应:
- 200 - 成功,返回字符串数组
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/http/requests
-
支持的方法:
-
/http/server_zones/
-
支持的方法:
-
GET
- 返回所有 HTTP 服务器区域的状态返回每个 HTTP 服务器区域的状态信息。
请求参数:
fields
(string
,可选)- 限制将输出的服务器区域的字段。如果显示”
fields
“ 值为空,则仅输出服务器区域名称。
可能的响应:
- 200 - 成功,返回所有 HTTP 服务器区域的“HTTP 服务器区域”对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/http/server_zones/{httpServerZoneName}
- 所有方法的通用参数:
httpServerZoneName
(string
,必需)- HTTP 服务器区域的名称。
支持的方法:
-
GET
- 返回 HTTP 服务器区域的状态返回特定 HTTP 服务器区域的状态。
请求参数:
fields
(string
,可选)- 限制将输出服务器区域的字段。
可能的响应:
- 200 - 成功,返回 HTTP 服务器区域
- 404 - 未找到服务器区域 (
ServerZoneNotFound
), 未知版本 (UnknownVersion
),返回 Error
-
DELETE
- 重置 HTTP 服务器区域的统计信息重置特定 HTTP 服务器区域中已接受和已丢弃的请求、响应、接收和已发送的字节、SSL 握手计数器和会话重用的统计信息。
可能的响应:
-
/http/location_zones/
-
支持的方法:
-
/http/location_zones/{httpLocationZoneName}
- 所有方法的通用参数:
httpLocationZoneName
(string
,必需)- HTTP 位置区域的名称。
支持的方法:
-
GET
- 返回 HTTP 位置区域的状态返回特定 HTTP 位置区域的状态。
请求参数:
fields
(string
,可选)- 限制将输出位置区域的字段。
可能的响应:
-
DELETE
- 重置位置区域的统计数据。重置特定位置区域中已接受和已丢弃的请求、响应、已接收和已发送字节的统计信息。
可能的响应:
-
/http/caches/
-
支持的方法:
-
GET
- 返回所有缓存的状态返回由 proxy_cache_path 和其他 ”
*_cache_path
“Directives。请求参数:
fields
(string
,可选)- 限制将输出缓存区域的字段。如果显示”
fields
“ 值为空,则仅输出缓存区域的名称。
可能的响应:
- 200 - 成功,返回所有 HTTP 缓存的 “HTTP Cache” 对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/http/caches/{httpCacheZoneName}
- 所有方法的通用参数:
httpCacheZoneName
(string
,必需)- 缓存区域的名称。
支持的方法:
-
GET
- 返回缓存的状态返回特定缓存的状态。
请求参数:
fields
(string
,可选)- 限制将输出缓存区域的字段。
可能的响应:
-
DELETE
- 重置缓存统计信息重置特定缓存区域中缓存命中/未命中的统计信息。
可能的响应:
-
/http/limit_conns/
-
支持的方法:
-
GET
- 返回所有 HTTP limit_conn 区域的状态返回每个 HTTP limit_conn 区域的状态信息。
请求参数:
fields
(string
,可选)- 限制将输出limit_conn区域的字段。如果显示”
fields
“ 值为空,则仅输出区域名称。
可能的响应:
-
-
/http/limit_conns/{httpLimitConnZoneName}
- 所有方法的通用参数:
httpLimitConnZoneName
(string
,必需)- limit_conn 区域的名称。
支持的方法:
-
GET
- 返回 HTTP limit_conn 区域的状态返回特定 HTTP limit_conn 区域的状态。
请求参数:
fields
(string
,可选)- 限制将输出limit_conn区域的字段。
可能的响应:
-
DELETE
- 重置 HTTP limit_conn 区域的统计信息重置连接限制统计信息。
可能的响应:
-
/http/limit_reqs/
-
支持的方法:
-
GET
- 返回所有 HTTP limit_req 区域的状态返回每个 HTTP limit_req 区域的状态信息。
请求参数:
fields
(string
,可选)- 限制将输出limit_req区域的字段。如果显示”
fields
“ 值为空,则仅输出区域名称。
可能的响应:
- 200 - 成功,返回所有 HTTP 限制请求的“HTTP 请求速率限制”对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/http/limit_reqs/{httpLimitReqZoneName}
- 所有方法的通用参数:
httpLimitReqZoneName
(string
,必需)- limit_req区域的名称。
支持的方法:
-
GET
- 返回 HTTP limit_req 区域的状态返回特定 HTTP limit_req 区域的状态。
请求参数:
fields
(string
,可选)- 限制将输出limit_req区域的字段。
可能的响应:
- 200 - 成功,返回 HTTP 请求速率限制
- 404 - 未找到limit_req (
LimitReqNotFound
), 未知版本 (UnknownVersion
),返回 Error
-
DELETE
- 重置 HTTP limit_req 区域的统计信息重置限制统计信息的请求。
可能的响应:
-
/http/upstreams/
-
支持的方法:
-
GET
- 返回所有 HTTP 上游服务器组的状态返回每个 HTTP 上游服务器组及其服务器的状态。
请求参数:
fields
(string
,可选)- 限制输出上游服务器组的字段。如果显示”
fields
“ 值为空,则仅输出 upstream 的名称。
可能的响应:
- 200 - 成功,返回所有 HTTP 上游的 “HTTP Upstream” 对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/http/upstreams/{httpUpstreamName}/
- 所有方法的通用参数:
httpUpstreamName
(string
,必需)- HTTP 上游服务器组的名称。
支持的方法:
-
GET
- 返回 HTTP 上游服务器组的状态返回特定 HTTP 上游服务器组及其服务器的状态。
请求参数:
fields
(string
,可选)- 限制输出上游服务器组的字段。
可能的响应:
-
DELETE
- 重置 HTTP 上游服务器组的统计信息重置上游服务器组中每个上游服务器的统计信息和队列统计信息。
可能的响应:
-
/http/upstreams/{httpUpstreamName}/servers/
- 所有方法的通用参数:
httpUpstreamName
(string
,必需)- 上游服务器组的名称。
支持的方法:
-
GET
- 返回 HTTP 上游服务器组中所有服务器的配置返回特定 HTTP 上游服务器组中每个服务器的配置。
可能的响应:
- 200 - 成功,返回 HTTP 上游服务器数组
- 400 - 上游是静态的 (
UpstreamStatic
),返回 Error - 404 - 未知版本 (
UnknownVersion
), 未找到上游 (UpstreamNotFound
),返回 Error
-
POST
- 将服务器添加到 HTTP 上游服务器组将新服务器添加到 HTTP 上游服务器组。服务器参数以 JSON 格式指定。
请求参数:
postHttpUpstreamServer
(HTTP 上游服务器,必需)- JSON 格式的新服务器的地址和其他可选参数。这
ID
”, “backup
“ 和 ”service
“ 参数。
可能的响应:
- 201 - 已创建,返回 HTTP 上游服务器
- 400 - 上游是静态的 (
UpstreamStatic
), 无效 ”parameter
“ 值 (UpstreamConfFormatError
), 缺少”server
“ 参数 (UpstreamConfFormatError
), 未知参数”name
” (UpstreamConfFormatError
), 嵌套对象或列表 (UpstreamConfFormatError
), “error
“ 解析 (UpstreamBadAddress
), 服务上游 ”host
“ 可能没有端口 (UpstreamBadAddress
), 服务上游 ”host
“ 需要域名 (UpstreamBadAddress
), 无效 ”weight
” (UpstreamBadWeight
), 无效 ”max_conns
” (UpstreamBadMaxConns
), 无效 ”max_fails
” (UpstreamBadMaxFails
), 无效 ”fail_timeout
” (UpstreamBadFailTimeout
), 无效 ”slow_start
” (UpstreamBadSlowStart
), 读取请求正文失败BodyReadError
), 路由太长 (UpstreamBadRoute
), “service
“ 为空 (UpstreamBadService
), 未定义要解析的解析程序 (UpstreamConfNoResolver
), 上游 ”name
“ 没有备份 (UpstreamNoBackup
), 上游 ”name
“ 内存耗尽 (UpstreamOutOfMemory
),返回 Error - 404 - 未知版本 (
UnknownVersion
), 未找到上游 (UpstreamNotFound
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error - 409 - 条目存在 (
EntryExists
),返回 Error - 415 - JSON 错误 (
JsonError
),返回 Error
-
/http/upstreams/{httpUpstreamName}/servers/{httpUpstreamServerId}
- 所有方法的通用参数:
httpUpstreamName
(string
,必需)- 上游服务器组的名称。
httpUpstreamServerId
(string
,必需)- 服务器的 ID。
支持的方法:
-
GET
- 返回 HTTP 上游服务器组中的服务器配置返回 HTTP 上游服务器组中特定服务器的配置。
可能的响应:
- 200 - 成功,返回 HTTP 上游服务器
- 400 - 上游是静态的 (
UpstreamStatic
), 无效的服务器 ID (UpstreamBadServerId
),返回 Error - 404 - ID 为 “ 的服务器
id
“ 不存在 (UpstreamServerNotFound
), 未知版本 (UnknownVersion
), 未找到上游 (UpstreamNotFound
),返回 Error
-
PATCH
- 修改 HTTP 上游服务器组中的服务器修改 HTTP 上游服务器组中特定服务器的设置。服务器参数以 JSON 格式指定。
请求参数:
patchHttpUpstreamServer
(HTTP 上游服务器,必需)- 服务器参数,以 JSON 格式指定。这
ID
”, “backup
“ 和 ”service
“ 参数。
可能的响应:
- 200 - 成功,返回 HTTP 上游服务器
- 400 - 上游是静态的 (
UpstreamStatic
), 无效 ”parameter
“ 值 (UpstreamConfFormatError
), 未知参数”name
” (UpstreamConfFormatError
), 嵌套对象或列表 (UpstreamConfFormatError
), “error
“ 解析 (UpstreamBadAddress
), 无效 ”server
“ 参数 (UpstreamBadAddress
), 无效的服务器 ID (UpstreamBadServerId
), 无效 ”weight
” (UpstreamBadWeight
), 无效 ”max_conns
” (UpstreamBadMaxConns
), 无效 ”max_fails
” (UpstreamBadMaxFails
), 无效 ”fail_timeout
” (UpstreamBadFailTimeout
), 无效 ”slow_start
” (UpstreamBadSlowStart
), 读取请求正文失败BodyReadError
), 路由太长 (UpstreamBadRoute
), “service
“ 为空 (UpstreamBadService
), 服务器 ”ID
“ 地址是不可变的 (UpstreamServerImmutable
), 服务器 ”ID
“ weight 是不可变的 (UpstreamServerWeightImmutable
), 上游 ”name
“ 内存耗尽 (UpstreamOutOfMemory
),返回 Error - 404 - ID 为 “ 的服务器
id
“ 不存在 (UpstreamServerNotFound
), 未知版本 (UnknownVersion
), 未找到上游 (UpstreamNotFound
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error - 415 - JSON 错误 (
JsonError
),返回 Error
-
DELETE
- 从 HTTP 上游服务器组中删除服务器从 HTTP 上游服务器组中删除服务器。
可能的响应:
- 200 - 成功,返回 HTTP 上游服务器数组
- 400 - 上游是静态的 (
UpstreamStatic
), 无效的服务器 ID (UpstreamBadServerId
), 服务器 ”id
“ 不可移动 (UpstreamServerImmutable
),返回 Error - 404 - ID 为 “ 的服务器
id
“ 不存在 (UpstreamServerNotFound
), 未知版本 (UnknownVersion
), 未找到上游 (UpstreamNotFound
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error
-
/http/keyvals/
-
支持的方法:
-
GET
- 从所有 HTTP keyval 区域返回键值对返回每个 HTTP keyval 共享内存区域的键值对。
请求参数:
fields
(string
,可选)- 如果显示”
fields
“ 值为空,则仅输出 HTTP keyval 区域名称。
可能的响应:
- 200 - 成功,返回所有 HTTP keyval 的“HTTP keyval Shared Memory Zone”对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/http/keyvals/{httpKeyvalZoneName}
- 所有方法的通用参数:
httpKeyvalZoneName
(string
,必需)- HTTP keyval 共享内存区域的名称。
支持的方法:
-
GET
- 从 HTTP keyval 区域返回键值对返回存储在特定 HTTP keyval 共享内存区域中的键值对。
请求参数:
key
(string
,可选)- 从 HTTP keyval 区域获取特定的键值对。
可能的响应:
- 200 - 成功,返回 HTTP Keyval 共享内存区域
- 404 - 未找到 Keyval (
KeyvalNotFound
), 未找到 keyval 键 (KeyvalKeyNotFound
), 未知版本 (UnknownVersion
),返回 Error
-
POST
- 将键值对添加到 HTTP keyval 区域将新的键值对添加到 HTTP keyval 共享内存区域。如果 HTTP keyval 共享内存区域为空,则可以输入多个键值对。
请求参数:
Key-value
(HTTP Keyval Shared Memory Zone,必需)- 键值对以 JSON 格式指定。如果 HTTP keyval 共享内存区域为空,则可以输入多个键值对。可以使用
expire
参数,该参数会覆盖timeout
keyval_zone Directives的参数。
可能的响应:
- 201 - 已创建
- 400 - JSON 无效 (
KeyvalFormatError
), 无效的密钥格式 (KeyvalFormatError
), 需要密钥 (KeyvalFormatError
), keyval 超时未启用 (KeyvalFormatError
), 只能添加一个键 (KeyvalFormatError
), 读取请求正文失败BodyReadError
),返回 Error - 404 - 未找到 Keyval (
KeyvalNotFound
), 未知版本 (UnknownVersion
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error - 409 - 条目存在 (
EntryExists
), 键已存在 (KeyvalKeyExists
),返回 Error - 413 - 请求实体太大,返回错误
- 415 - JSON 错误 (
JsonError
),返回 Error
-
PATCH
- 修改 key-value 或删除 key更改键值对中所选键的值,通过将键值设置为
null
,更改键值对的过期时间。如果启用了集群中密钥值区域的同步,则仅删除目标集群节点上的密钥。可以使用expire
参数,该参数会覆盖timeout
keyval_zone Directives的参数。请求参数:
httpKeyvalZoneKeyValue
(HTTP Keyval Shared Memory Zone,必需)- 键的新值以 JSON 格式指定。
可能的响应:
- 204 - 成功
- 400 - JSON 无效 (
KeyvalFormatError
), 需要密钥 (KeyvalFormatError
), keyval 超时未启用 (KeyvalFormatError
), 只能更新一个密钥 (KeyvalFormatError
), 读取请求正文失败BodyReadError
),返回 Error - 404 - 未找到 Keyval (
KeyvalNotFound
), 未找到 keyval 键 (KeyvalKeyNotFound
), 未知版本 (UnknownVersion
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error - 413 - 请求实体太大,返回错误
- 415 - JSON 错误 (
JsonError
),返回 Error
-
DELETE
- 清空 HTTP 密钥值区域从 HTTP keyval 共享内存区域中删除所有键值对。如果启用了集群中 keyval 区域的同步,则仅在目标集群节点上清空 keyval 区域。
可能的响应:
-
/stream/
-
支持的方法:
-
GET
- 返回与流相关的终端节点列表返回第一级流终端节点的列表。
可能的响应:
- 200 - 成功,返回字符串数组
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/stream/server_zones/
-
支持的方法:
-
GET
- 返回所有 Stream Server 区域的状态返回每个 Stream Server 区域的状态信息。
请求参数:
fields
(string
,可选)- 限制将输出的服务器区域的字段。如果显示”
fields
“ 值为空,则仅输出服务器区域名称。
可能的响应:
- 200 - 成功,返回所有 Stream Server 区域的 “Stream Server Zone” 对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/stream/server_zones/{streamServerZoneName}
- 所有方法的通用参数:
streamServerZoneName
(string
,必需)- Stream Server 区域的名称。
支持的方法:
-
GET
- 返回 Stream Server Zone 的状态返回特定 Stream Server 区域的状态。
请求参数:
fields
(string
,可选)- 限制将输出服务器区域的字段。
可能的响应:
- 200 - 成功,返回 Stream Server Zone
- 404 - 未找到服务器区域 (
ServerZoneNotFound
), 未知版本 (UnknownVersion
),返回 Error
-
DELETE
- 重置 Stream Server 区域的统计信息重置特定流服务器区域中接受和丢弃的连接、会话、接收和发送的字节、SSL 握手计数器和会话重用的统计信息。
可能的响应:
-
/stream/limit_conns/
-
支持的方法:
-
GET
- 返回所有 Stream limit_conn 区的状态返回每个流limit_conn区的状态信息。
请求参数:
fields
(string
,可选)- 限制将输出limit_conn区域的字段。如果显示”
fields
“ 值为空,则仅输出区域名称。
可能的响应:
- 200 - 成功,返回所有流限制节点的 “Stream Connections Limiting” 对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/stream/limit_conns/{streamLimitConnZoneName}
- 所有方法的通用参数:
streamLimitConnZoneName
(string
,必需)- limit_conn 区域的名称。
支持的方法:
-
GET
- 流limit_conn区的返回状态返回特定流limit_conn区域的状态。
请求参数:
fields
(string
,可选)- 限制将输出limit_conn区域的字段。
可能的响应:
-
DELETE
- 重置流limit_conn区的统计信息重置连接限制统计信息。
可能的响应:
-
/stream/upstreams/
-
支持的方法:
-
GET
- 返回所有流上游服务器组的状态返回每个流上游服务器组及其服务器的状态。
请求参数:
fields
(string
,可选)- 限制输出上游服务器组的字段。如果显示”
fields
“ 值为空,则仅输出 upstream 的名称。
可能的响应:
- 200 - 成功,返回所有上游流的 “Stream Upstream” 对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/stream/upstreams/{streamUpstreamName}/
- 所有方法的通用参数:
streamUpstreamName
(string
,必需)- 上游服务器组的名称。
支持的方法:
-
GET
- 返回上游服务器组的状态返回特定流上游服务器组及其服务器的状态。
请求参数:
fields
(string
,可选)- 限制输出上游服务器组的字段。
可能的响应:
- 200 - 成功,返回 Stream Upstream
- 400 - 上游是静态的 (
UpstreamStatic
),返回 Error - 404 - 未知版本 (
UnknownVersion
), 未找到上游 (UpstreamNotFound
),返回 Error
-
DELETE
- 重置上游服务器组的统计信息重置上游服务器组中每个上游服务器的统计信息。
可能的响应:
-
/stream/upstreams/{streamUpstreamName}/servers/
- 所有方法的通用参数:
streamUpstreamName
(string
,必需)- 上游服务器组的名称。
支持的方法:
-
GET
- 返回流上游服务器组中所有服务器的配置返回特定 stream upstream 服务器组中每个服务器的配置。
可能的响应:
-
POST
- 将服务器添加到流上游服务器组将新服务器添加到上游服务器组。服务器参数以 JSON 格式指定。
请求参数:
postStreamUpstreamServer
(Stream Upstream Server,必需)- JSON 格式的新服务器的地址和其他可选参数。这
ID
”, “backup
“ 和 ”service
“ 参数。
可能的响应:
- 201 - 已创建,返回 Stream Upstream Server
- 400 - 上游是静态的 (
UpstreamStatic
), 无效 ”parameter
“ 值 (UpstreamConfFormatError
), 缺少”server
“ 参数 (UpstreamConfFormatError
), 未知参数”name
” (UpstreamConfFormatError
), 嵌套对象或列表 (UpstreamConfFormatError
), “error
“ 解析 (UpstreamBadAddress
), 服务器 “ 中没有端口 ”host
” (UpstreamBadAddress
), 服务上游 ”host
“ 可能没有端口 (UpstreamBadAddress
), 服务上游 ”host
“ 需要域名 (UpstreamBadAddress
), 无效 ”weight
” (UpstreamBadWeight
), 无效 ”max_conns
” (UpstreamBadMaxConns
), 无效 ”max_fails
” (UpstreamBadMaxFails
), 无效 ”fail_timeout
” (UpstreamBadFailTimeout
), 无效 ”slow_start
” (UpstreamBadSlowStart
), “service
“ 为空 (UpstreamBadService
), 未定义要解析的解析程序 (UpstreamConfNoResolver
), 上游 ”name
“ 没有备份 (UpstreamNoBackup
), 上游 ”name
“ 内存耗尽 (UpstreamOutOfMemory
), 读取请求正文失败BodyReadError
),返回 Error - 404 - 未知版本 (
UnknownVersion
), 未找到上游 (UpstreamNotFound
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error - 409 - 条目存在 (
EntryExists
),返回 Error - 415 - JSON 错误 (
JsonError
),返回 Error
-
/stream/upstreams/{streamUpstreamName}/servers/{streamUpstreamServerId}
- 所有方法的通用参数:
streamUpstreamName
(string
,必需)- 上游服务器组的名称。
streamUpstreamServerId
(string
,必需)- 服务器的 ID。
支持的方法:
-
GET
- 返回流上游服务器组中的服务器配置返回流上游服务器组中特定服务器的配置。
可能的响应:
- 200 - 成功,返回 Stream Upstream Server
- 400 - 上游是静态的 (
UpstreamStatic
), 无效的服务器 ID (UpstreamBadServerId
),返回 Error - 404 - 未知版本 (
UnknownVersion
), 未找到上游 (UpstreamNotFound
), ID 为 “ 的服务器id
“ 不存在 (UpstreamServerNotFound
),返回 Error
-
PATCH
- 修改上游服务器组中的服务器修改上游流服务器组中特定服务器的设置。服务器参数以 JSON 格式指定。
请求参数:
patchStreamUpstreamServer
(Stream Upstream Server,必需)- 服务器参数,以 JSON 格式指定。这
ID
”, “backup
“ 和 ”service
“ 参数。
可能的响应:
- 200 - 成功,返回 Stream Upstream Server
- 400 - 上游是静态的 (
UpstreamStatic
), 无效 ”parameter
“ 值 (UpstreamConfFormatError
), 未知参数”name
” (UpstreamConfFormatError
), 嵌套对象或列表 (UpstreamConfFormatError
), “error
“ 解析 (UpstreamBadAddress
), 无效 ”server
“ 参数 (UpstreamBadAddress
), 服务器 “ 中没有端口 ”host
” (UpstreamBadAddress
), 无效的服务器 ID (UpstreamBadServerId
), 无效 ”weight
” (UpstreamBadWeight
), 无效 ”max_conns
” (UpstreamBadMaxConns
), 无效 ”max_fails
” (UpstreamBadMaxFails
), 无效 ”fail_timeout
” (UpstreamBadFailTimeout
), 无效 ”slow_start
” (UpstreamBadSlowStart
), 读取请求正文失败BodyReadError
), “service
“ 为空 (UpstreamBadService
), 服务器 ”ID
“ 地址是不可变的 (UpstreamServerImmutable
), 服务器 ”ID
“ weight 是不可变的 (UpstreamServerWeightImmutable
), 上游 ”name
“ 内存耗尽 (UpstreamOutOfMemory
),返回 Error - 404 - ID 为 “ 的服务器
id
“ 不存在 (UpstreamServerNotFound
), 未知版本 (UnknownVersion
), 未找到上游 (UpstreamNotFound
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error - 415 - JSON 错误 (
JsonError
),返回 Error
-
DELETE
- 将服务器移出上游服务器组从 Stream Server 组中删除服务器。
可能的响应:
-
/stream/keyvals/
-
支持的方法:
-
GET
- 从所有流 keyval 区域返回键值对返回每个流 keyval 共享内存区域的键值对。
请求参数:
fields
(string
,可选)- 如果显示”
fields
“ 值为空,则仅输出 Stream Keyval Zone Names。
可能的响应:
- 200 - 成功,返回所有流 keyval 的 “Stream keyval Shared Memory Zone” 对象的集合
- 404 - 未知版本 (
UnknownVersion
),返回 Error
-
-
/stream/keyvals/{streamKeyvalZoneName}
- 所有方法的通用参数:
streamKeyvalZoneName
(string
,必需)- 流 keyval 共享内存区域的名称。
支持的方法:
-
GET
- 从流 keyval 区域返回键值对返回存储在特定流 keyval 共享内存区域中的键值对。
请求参数:
key
(string
,可选)- 从流 keyval 区域获取特定的键值对。
可能的响应:
- 200 - 成功,返回 Stream Keyval Shared Memory Zone
- 404 - 未找到 Keyval (
KeyvalNotFound
), 未找到 keyval 键 (KeyvalKeyNotFound
), 未知版本 (UnknownVersion
),返回 Error
-
POST
- 将键值对添加到流 keyval 区域将新的键值对添加到流 keyval 共享内存区域。如果流 keyval 共享内存区为空,则可以输入多个键值对。
请求参数:
Key-value
(Stream Keyval Shared Memory Zone,必需)- 键值对以 JSON 格式指定。如果流 keyval 共享内存区为空,则可以输入多个键值对。可以使用
expire
参数,该参数会覆盖timeout
keyval_zone Directives的参数。
可能的响应:
- 201 - 已创建
- 400 - JSON 无效 (
KeyvalFormatError
), 无效的密钥格式 (KeyvalFormatError
), 需要密钥 (KeyvalFormatError
), keyval 超时未启用 (KeyvalFormatError
), 只能添加一个键 (KeyvalFormatError
), 读取请求正文失败BodyReadError
),返回 Error - 404 - 未找到 Keyval (
KeyvalNotFound
), 未知版本 (UnknownVersion
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error - 409 - 条目存在 (
EntryExists
), 键已存在 (KeyvalKeyExists
),返回 Error - 413 - 请求实体太大,返回错误
- 415 - JSON 错误 (
JsonError
),返回 Error
-
PATCH
- 修改 key-value 或删除 key更改键值对中所选键的值,通过将键值设置为
null
,更改键值对的过期时间。如果启用了集群中密钥值区域的同步,则仅删除目标集群节点上的密钥。过期时间以毫秒为单位指定,其中expire
参数,该参数会覆盖timeout
keyval_zone Directives的参数。请求参数:
streamKeyvalZoneKeyValue
(Stream Keyval Shared Memory Zone,必需)- 键的新值以 JSON 格式指定。
可能的响应:
- 204 - 成功
- 400 - JSON 无效 (
KeyvalFormatError
), 需要密钥 (KeyvalFormatError
), keyval 超时未启用 (KeyvalFormatError
), 只能更新一个密钥 (KeyvalFormatError
), 读取请求正文失败BodyReadError
),返回 Error - 404 - 未找到 Keyval (
KeyvalNotFound
), 未找到 keyval 键 (KeyvalKeyNotFound
), 未知版本 (UnknownVersion
),返回 Error - 405 - 方法已禁用 (
MethodDisabled
),返回 Error - 413 - 请求实体太大,返回错误
- 415 - JSON 错误 (
JsonError
),返回 Error
-
DELETE
- 清空流 keyval 区域从流 keyval 共享内存区中删除所有键值对。如果启用了集群中 keyval 区域的同步,则仅在目标集群节点上清空 keyval 区域。
可能的响应:
-
/stream/zone_sync/
-
支持的方法:
-
/resolvers/
-
支持的方法:
-
/resolvers/{resolverZoneName}
- 所有方法的通用参数:
resolverZoneName
(string
,必需)- 解析程序区域的名称。
支持的方法:
-
GET
- 返回解析程序区域的统计信息返回存储在特定解析程序区域中的统计信息。
请求参数:
fields
(string
,可选)- 限制将输出解析程序区域的字段(请求、响应或两者)。
可能的响应:
- 200 - 成功,返回 Resolver Zone
- 404 - 未找到解析程序区域 (
ResolverZoneNotFound
), 未知版本 (UnknownVersion
),返回 Error
-
DELETE
- 重置解析程序区域的统计信息。重置特定解析程序区域中的统计信息。
可能的响应:
-
/ssl
-
支持的方法:
-
/license
-
支持的方法:
-
/workers/
-
支持的方法:
-
GET
- 返回所有工作进程的统计信息返回所有工作进程的统计信息,例如已接受、已丢弃、活动、空闲连接、总请求数和当前请求数。
请求参数:
fields
(string
,可选)- 限制将输出的工作进程统计信息的字段。
可能的响应:
- 200 - 成功,返回所有工作程序的 “Worker process” 对象的集合
- 404 - 未找到 Worker (
WorkerNotFound
), 未知版本 (UnknownVersion
),返回 Error
-
DELETE
- 重置所有工作进程的统计信息。重置所有工作进程的统计信息,例如 已接受、已丢弃、活动、空闲连接、总请求数和当前请求数。
可能的响应:
-
-
/workers/{workerId}
- 所有方法的通用参数:
workerId
(string
,必需)- 工作进程的 ID。
支持的方法:
-
GET
- 返回 worker 进程的状态返回特定工作进程的状态。
请求参数:
fields
(string
,可选)- 限制将输出的工作进程统计信息的字段。
可能的响应:
-
DELETE
- 重置 worker 进程的统计信息。重置已接受、已丢弃、活动、空闲连接的统计信息, 以及总请求数和当前请求数。
可能的响应:
响应对象
-
nginx 的 Nginx 中
有关 nginx 的一般信息:-
version
(string
) - nginx 的版本。
-
build
(string
) - nginx 版本的名称。
-
address
(string
) - 接受 status 请求的服务器的地址。
-
generation
(integer
) - 重新加载的配置总数。
-
load_timestamp
(string
) - 上次重新加载配置的时间,采用 ISO 8601 格式,分辨率为毫秒。
-
timestamp
(string
) - ISO 8601 格式的当前时间,毫秒分辨率。
-
pid
(integer
) - 处理状态请求的工作进程的 ID。
-
ppid
(integer
) - 启动工作进程的主进程的 ID。
例:
{ "nginx" : { "version" : "1.21.6", "build" : "nginx-plus-r27", "address" : "206.251.255.64", "generation" : 6, "load_timestamp" : "2022-06-28T11:15:44.467Z", "timestamp" : "2022-06-28T09:26:07.305Z", "pid" : 32212, "ppid" : 32210 } }
-
-
过程:
-
respawned
(integer
) - 异常终止和重新生成的子进程的总数。
例:
{ "respawned" : 0 }
-
-
连接:
已接受、已丢弃、活动和空闲连接的数量。-
accepted
(integer
) - 接受的客户端连接的总数。
-
dropped
(integer
) - 丢弃的客户端连接总数。
-
active
(integer
) - 当前活动客户端连接数。
-
idle
(integer
) - 当前空闲客户端连接数。
例:
{ "accepted" : 4968119, "dropped" : 0, "active" : 5, "idle" : 117 }
-
-
SSL的:
-
handshakes
(integer
) - 成功的 SSL 握手总数。
-
handshakes_failed
(integer
) - 失败的 SSL 握手总数。
-
session_reuses
(integer
) - SSL 握手期间会话重用的总数。
-
no_common_protocol
(integer
) - 由于没有通用协议,SSL 握手次数失败。
-
no_common_cipher
(integer
) - 由于没有共享密码,SSL 握手失败的次数。
-
handshake_timeout
(integer
) - 由于超时而失败的 SSL 握手次数。
-
peer_rejected_cert
(integer
) - nginx 向客户端提供证书但被拒绝并显示相应的警报消息时失败的 SSL 握手次数。
-
verify_failures
- SSL 证书验证错误
-
no_cert
(integer
) - 客户端未提供所需的证书。
-
expired_cert
(integer
) - 客户端提供了已过期或尚未生效的证书。
-
revoked_cert
(integer
) - 客户端提供了已吊销的证书。
-
hostname_mismatch
(integer
) - 服务器的证书与主机名不匹配。
-
other
(integer
) - 其他 SSL 证书验证错误。
-
例:
{ "handshakes" : 79572, "handshakes_failed" : 21025, "session_reuses" : 15762, "no_common_protocol" : 4, "no_common_cipher" : 2, "handshake_timeout" : 0, "peer_rejected_cert" : 0, "verify_failures" : { "no_cert" : 0, "expired_cert" : 2, "revoked_cert" : 1, "hostname_mismatch" : 2, "other" : 1 } }
-
-
带有 slab 分配器的共享内存区域:
与 slab 分配器共享内存区-
pages
- 可用内存页数和已用内存页数。
-
used
(integer
) - 当前已使用的内存页数。
-
free
(integer
) - 当前可用内存页数。
-
-
slots
-
内存插槽的状态数据(8、16、32、64、128 等)
“Memory Slot” 对象的集合
例:
{ "pages" : { "used" : 1143, "free" : 2928 }, "slots" : { "8" : { "used" : 0, "free" : 0, "reqs" : 0, "fails" : 0 }, "16" : { "used" : 0, "free" : 0, "reqs" : 0, "fails" : 0 }, "32" : { "used" : 0, "free" : 0, "reqs" : 0, "fails" : 0 }, "64" : { "used" : 1, "free" : 63, "reqs" : 1, "fails" : 0 }, "128" : { "used" : 0, "free" : 0, "reqs" : 0, "fails" : 0 }, "256" : { "used" : 18078, "free" : 178, "reqs" : 1635736, "fails" : 0 } } }
-
-
内存插槽:
-
used
(integer
) - 当前已使用的内存插槽数。
-
free
(integer
) - 当前可用内存槽的数量。
-
reqs
(integer
) - 尝试分配指定大小的内存的总次数。
-
fails
(integer
) - 尝试分配指定大小的内存的失败次数。
-
-
HTTP 请求:
-
total
(integer
) - 客户端请求的总数。
-
current
(integer
) - 客户端请求的当前数量。
例:
{ "total" : 10624511, "current" : 4 }
-
-
HTTP 服务器区域:
-
processing
(integer
) - 当前正在处理的客户端请求数。
-
requests
(integer
) - 从客户端收到的客户端请求总数。
-
responses
- 发送到客户端的响应总数,状态代码为 “ 的响应数
1xx
”, “2xx
”, “3xx
”, “4xx
“ 和 ”5xx
“,以及每个状态代码的响应数。-
1xx
(integer
) - 带有 ”
1xx
“ 状态代码。 -
2xx
(integer
) - 带有 ”
2xx
“ 状态代码。 -
3xx
(integer
) - 带有 ”
3xx
“ 状态代码。 -
4xx
(integer
) - 带有 ”
4xx
“ 状态代码。 -
5xx
(integer
) - 带有 ”
5xx
“ 状态代码。 -
codes
- 每个状态代码的响应数。
-
codeNumber
(integer
) - 具有此特定状态代码的响应数。
-
-
total
(integer
) - 发送到客户端的响应总数。
-
-
discarded
(integer
) - 未发送响应而完成的请求总数。
-
received
(integer
) - 从客户端接收的总字节数。
-
sent
(integer
) - 发送到客户端的总字节数。
-
ssl
-
-
handshakes
(integer
) - 成功的 SSL 握手总数。
-
handshakes_failed
(integer
) - 失败的 SSL 握手总数。
-
session_reuses
(integer
) - SSL 握手期间会话重用的总数。
-
no_common_protocol
(integer
) - 由于没有通用协议,SSL 握手次数失败。
-
no_common_cipher
(integer
) - 由于没有共享密码,SSL 握手失败的次数。
-
handshake_timeout
(integer
) - 由于超时而失败的 SSL 握手次数。
-
peer_rejected_cert
(integer
) - nginx 向客户端提供证书但被拒绝并显示相应的警报消息时失败的 SSL 握手次数。
-
verify_failures
- SSL 证书验证错误
-
no_cert
(integer
) - 客户端未提供所需的证书。
-
expired_cert
(integer
) - 客户端提供了已过期或尚未生效的证书。
-
revoked_cert
(integer
) - 客户端提供了已吊销的证书。
-
other
(integer
) - 其他 SSL 证书验证错误。
-
-
例:
{ "processing" : 1, "requests" : 706690, "responses" : { "1xx" : 0, "2xx" : 699482, "3xx" : 4522, "4xx" : 907, "5xx" : 266, "codes" : { "200" : 699482, "301" : 4522, "404" : 907, "503" : 266 }, "total" : 705177 }, "discarded" : 1513, "received" : 172711587, "sent" : 19415530115, "ssl" : { "handshakes" : 104303, "handshakes_failed" : 1421, "session_reuses" : 54645, "no_common_protocol" : 4, "no_common_cipher" : 2, "handshake_timeout" : 0, "peer_rejected_cert" : 0, "verify_failures" : { "no_cert" : 0, "expired_cert" : 2, "revoked_cert" : 1, "other" : 1 } } }
-
-
HTTP 位置区域:
-
requests
(integer
) - 从客户端收到的客户端请求总数。
-
responses
- 发送到客户端的响应总数,状态代码为 “ 的响应数
1xx
”, “2xx
”, “3xx
”, “4xx
“ 和 ”5xx
“,以及每个状态代码的响应数。-
1xx
(integer
) - 带有 ”
1xx
“ 状态代码。 -
2xx
(integer
) - 带有 ”
2xx
“ 状态代码。 -
3xx
(integer
) - 带有 ”
3xx
“ 状态代码。 -
4xx
(integer
) - 带有 ”
4xx
“ 状态代码。 -
5xx
(integer
) - 带有 ”
5xx
“ 状态代码。 -
codes
- 每个状态代码的响应数。
-
codeNumber
(integer
) - 具有此特定状态代码的响应数。
-
-
total
(integer
) - 发送到客户端的响应总数。
-
-
discarded
(integer
) - 未发送响应而完成的请求总数。
-
received
(integer
) - 从客户端接收的总字节数。
-
sent
(integer
) - 发送到客户端的总字节数。
例:
{ "requests" : 706690, "responses" : { "1xx" : 0, "2xx" : 699482, "3xx" : 4522, "4xx" : 907, "5xx" : 266, "codes" : { "200" : 112674, "301" : 4522, "404" : 2504, "503" : 266 }, "total" : 705177 }, "discarded" : 1513, "received" : 172711587, "sent" : 19415530115 }
-
-
HTTP 缓存:
-
size
(integer
) - 缓存的当前大小。
-
max_size
(integer
) - 配置中指定的缓存的最大大小限制。
-
cold
(boolean
) - 一个布尔值,指示 “cache loader” 进程是否仍在将数据从磁盘加载到缓存中。
-
hit
-
-
responses
(integer
) - 从缓存中读取的有效响应的总数。
-
bytes
(integer
) - 从缓存中读取的总字节数。
-
-
stale
-
-
responses
(integer
) - 从缓存中读取的过期响应总数(请参阅 proxy_cache_use_stale 和其他 ”
*_cache_use_stale
“ Directives)。 -
bytes
(integer
) - 从缓存中读取的总字节数。
-
-
updating
-
-
responses
(integer
) - 在更新响应时从缓存中读取的过期响应总数(请参阅proxy_cache_use_stale和其他”
*_cache_use_stale
“ Directives)。 -
bytes
(integer
) - 从缓存中读取的总字节数。
-
-
revalidated
-
-
responses
(integer
) - 从缓存中读取的过期和重新验证的响应总数(请参阅proxy_cache_revalidate和其他”
*_cache_revalidate
“Directives。 -
bytes
(integer
) - 从缓存中读取的总字节数。
-
-
miss
-
-
responses
(integer
) - 在缓存中未找到的响应总数。
-
bytes
(integer
) - 从代理服务器读取的总字节数。
-
responses_written
(integer
) - 写入缓存的响应总数。
-
bytes_written
(integer
) - 写入高速缓存的总字节数。
-
-
expired
-
-
responses
(integer
) - 未从缓存中获取的过期响应的总数。
-
bytes
(integer
) - 从代理服务器读取的总字节数。
-
responses_written
(integer
) - 写入缓存的响应总数。
-
bytes_written
(integer
) - 写入高速缓存的总字节数。
-
-
bypass
-
-
responses
(integer
) - 由于 proxy_cache_bypass 和其他 ”
*_cache_bypass
“Directives。 -
bytes
(integer
) - 从代理服务器读取的总字节数。
-
responses_written
(integer
) - 写入缓存的响应总数。
-
bytes_written
(integer
) - 写入高速缓存的总字节数。
-
例:
{ "size" : 530915328, "max_size" : 536870912, "cold" : false, "hit" : { "responses" : 254032, "bytes" : 6685627875 }, "stale" : { "responses" : 0, "bytes" : 0 }, "updating" : { "responses" : 0, "bytes" : 0 }, "revalidated" : { "responses" : 0, "bytes" : 0 }, "miss" : { "responses" : 1619201, "bytes" : 53841943822 }, "expired" : { "responses" : 45859, "bytes" : 1656847080, "responses_written" : 44992, "bytes_written" : 1641825173 }, "bypass" : { "responses" : 200187, "bytes" : 5510647548, "responses_written" : 200173, "bytes_written" : 44992 } }
-
-
HTTP 连接限制:
-
passed
(integer
) - 既不受限制也不被视为受限的连接总数。
-
rejected
(integer
) - 被拒绝的连接总数。
-
rejected_dry_run
(integer
) - 在试运行模式下记为被拒绝的连接总数。
例:
{ "passed" : 15, "rejected" : 0, "rejected_dry_run" : 2 }
-
-
HTTP 请求速率限制:
-
passed
(integer
) - 既不受限制也不被视为受限的请求总数。
-
delayed
(integer
) - 延迟的请求总数。
-
rejected
(integer
) - 被拒绝的请求总数。
-
delayed_dry_run
(integer
) - 在试运行模式下记为延迟的请求总数。
-
rejected_dry_run
(integer
) - 在试运行模式下记为已拒绝的请求总数。
例:
{ "passed" : 15, "delayed" : 4, "rejected" : 0, "delayed_dry_run" : 1, "rejected_dry_run" : 2 }
-
-
HTTP 上游:
-
peers
- 一个数组:
-
id
(integer
) - 服务器的 ID。
-
server
(string
) - 服务器的地址。
-
service
(string
) - server Directives的 service 参数值。
-
name
(string
) - 在 server Directives中指定的服务器的名称。
-
backup
(boolean
) - 一个布尔值,指示服务器是否为备份服务器。
-
weight
(integer
) - 服务器的重量。
-
state
(string
) - 当前状态,可以是”
up
”, “draining
”, “down
”, “unavail
”, “checking
“ 和 ”unhealthy
”. -
active
(integer
) - 当前活动连接数。
-
ssl
-
-
handshakes
(integer
) - 成功的 SSL 握手总数。
-
handshakes_failed
(integer
) - 失败的 SSL 握手总数。
-
session_reuses
(integer
) - SSL 握手期间会话重用的总数。
-
no_common_protocol
(integer
) - 由于没有通用协议,SSL 握手次数失败。
-
handshake_timeout
(integer
) - 由于超时而失败的 SSL 握手次数。
-
peer_rejected_cert
(integer
) - 当 nginx 向上游服务器提供证书但被拒绝并显示相应的警报消息时,失败的 SSL 握手次数。
-
verify_failures
- SSL 证书验证错误
-
expired_cert
(integer
) - 上游服务器提供了已过期或尚未有效的证书。
-
revoked_cert
(integer
) - 上游服务器提供了已吊销的证书。
-
hostname_mismatch
(integer
) - 服务器的证书与主机名不匹配。
-
other
(integer
) - 其他 SSL 证书验证错误。
-
-
-
max_conns
(integer
) - 服务器的max_conns限制。
-
requests
(integer
) - 转发到此服务器的客户端请求总数。
-
responses
-
-
1xx
(integer
) - 带有 ”
1xx
“ 状态代码。 -
2xx
(integer
) - 带有 ”
2xx
“ 状态代码。 -
3xx
(integer
) - 带有 ”
3xx
“ 状态代码。 -
4xx
(integer
) - 带有 ”
4xx
“ 状态代码。 -
5xx
(integer
) - 带有 ”
5xx
“ 状态代码。 -
codes
- 每个状态代码的响应数。
-
codeNumber
(integer
) - 具有此特定状态代码的响应数。
-
-
total
(integer
) - 从此服务器获取的响应总数。
-
-
sent
(integer
) - 发送到此服务器的总字节数。
-
received
(integer
) - 从此服务器接收的总字节数。
-
fails
(integer
) - 尝试与服务器通信失败的总数。
-
unavail
(integer
) - 服务器对客户端请求不可用的次数(状态”
unavail
“),因为未成功的尝试次数达到 max_fails 阈值。 -
health_checks
-
downtime
(integer
) - 服务器处于”
unavail
”, “checking
“ 和 ”unhealthy
“说。 -
downstart
(string
) - 服务器变为”
unavail
”, “checking
“或 ”unhealthy
“,采用 ISO 8601 格式,分辨率为毫秒。 -
selected
(string
) - 上次选择服务器处理请求的时间,采用 ISO 8601 格式,毫秒级精度。
-
header_time
(integer
) - 从服务器获取响应标头的平均时间。
-
response_time
(integer
) - 从服务器获取完整响应的平均时间。
-
-
keepalive
(integer
) - 当前空闲的 keepalive 连接数。
-
zombies
(integer
) - 从组中删除但仍处理活动客户端请求的当前服务器数。
-
zone
(string
) - 保留组的配置和运行时状态的共享内存区域的名称。
-
queue
- 对于请求队列,提供了以下数据:
-
size
(integer
) - 队列中的当前请求数。
-
max_size
(integer
) - 队列中可以同时存在的最大请求数。
-
overflows
(integer
) - 由于队列溢出而被拒绝的请求总数。
-
例:
{ "upstream_backend" : { "peers" : [ { "id" : 0, "server" : "10.0.0.1:8088", "name" : "10.0.0.1:8088", "backup" : false, "weight" : 5, "state" : "up", "active" : 0, "ssl" : { "handshakes" : 620311, "handshakes_failed" : 3432, "session_reuses" : 36442, "no_common_protocol" : 4, "handshake_timeout" : 0, "peer_rejected_cert" : 0, "verify_failures" : { "expired_cert" : 2, "revoked_cert" : 1, "hostname_mismatch" : 2, "other" : 1 } }, "max_conns" : 20, "requests" : 667231, "header_time" : 20, "response_time" : 36, "responses" : { "1xx" : 0, "2xx" : 666310, "3xx" : 0, "4xx" : 915, "5xx" : 6, "codes" : { "200" : 666310, "404" : 915, "503" : 6 }, "total" : 667231 }, "sent" : 251946292, "received" : 19222475454, "fails" : 0, "unavail" : 0, "health_checks" : { "checks" : 26214, "fails" : 0, "unhealthy" : 0, "last_passed" : true }, "downtime" : 0, "downstart" : "2022-06-28T11:09:21.602Z", "selected" : "2022-06-28T15:01:25.000Z" }, { "id" : 1, "server" : "10.0.0.1:8089", "name" : "10.0.0.1:8089", "backup" : true, "weight" : 1, "state" : "unhealthy", "active" : 0, "max_conns" : 20, "requests" : 0, "responses" : { "1xx" : 0, "2xx" : 0, "3xx" : 0, "4xx" : 0, "5xx" : 0, "codes" : { }, "total" : 0 }, "sent" : 0, "received" : 0, "fails" : 0, "unavail" : 0, "health_checks" : { "checks" : 26284, "fails" : 26284, "unhealthy" : 1, "last_passed" : false }, "downtime" : 262925617, "downstart" : "2022-06-28T11:09:21.602Z", "selected" : "2022-06-28T15:01:25.000Z" } ], "keepalive" : 0, "zombies" : 0, "zone" : "upstream_backend" } }
-
-
HTTP 上游服务器:
HTTP 上游服务器的动态配置参数:-
id
(integer
) - HTTP 上游服务器的 ID。ID 是自动分配的,无法更改。
-
server
(string
) - 与 HTTP 上游服务器的 address 参数相同。添加服务器时,可以将其指定为域名。在这种情况下,与域名对应的 IP 地址的更改将被监控并自动应用于上游配置,而无需重新启动 nginx。这需要 ”
http
“ 块。另请参阅 HTTP 上游服务器的 resolve 参数。 -
service
(string
) - 与 HTTP 上游服务器的 service 参数相同。此参数无法更改。
-
weight
(integer
) - 与 HTTP 上游服务器的 weight 参数相同。
-
max_conns
(integer
) - 与 HTTP 上游服务器的 max_conns 参数相同。
-
max_fails
(integer
) - 与 HTTP 上游服务器的 max_fails 参数相同。
-
fail_timeout
(string
) - 与 HTTP 上游服务器的 fail_timeout 参数相同。
-
slow_start
(string
) - 与 HTTP 上游服务器的 slow_start 参数相同。
-
route
(string
) - 与 HTTP 上游服务器的 route 参数相同。
-
backup
(boolean
) - 什么时候
true
中,添加备份服务器。此参数无法更改。 -
down
(boolean
) - 与 HTTP 上游服务器的 down 参数相同。
-
drain
(boolean
) - 与 HTTP 上游服务器的 drain 参数相同。
-
parent
(string
) - 已解析服务器的父服务器 ID。ID 是自动分配的,无法更改。
-
host
(string
) - 已解析服务器的主机名。主机名是自动分配的,无法更改。
例:
{ "id" : 1, "server" : "10.0.0.1:8089", "weight" : 4, "max_conns" : 0, "max_fails" : 0, "fail_timeout" : "10s", "slow_start" : "10s", "route" : "", "backup" : true, "down" : true }
-
-
HTTP Keyval 共享内存区:
HTTP keyval 共享内存区域的内容 使用 GET 方法时。例:
{ "key1" : "value1", "key2" : "value2", "key3" : "value3" }
-
HTTP Keyval 共享内存区:
HTTP keyval 共享内存区域的内容 使用 POST 或 PATCH 方法时。例:
{ "key1" : "value1", "key2" : "value2", "key3" : { "value" : "value3", "expire" : 30000 } }
-
Stream Server 区域:
-
processing
(integer
) - 当前正在处理的客户端连接数。
-
connections
(integer
) - 从客户端接受的连接总数。
-
sessions
- 已完成的会话总数,以及使用状态代码 “ 完成的会话数
2xx
”, “4xx
“或 ”5xx
”. -
discarded
(integer
) - 未创建会话的情况下完成的连接总数。
-
received
(integer
) - 从客户端接收的总字节数。
-
sent
(integer
) - 发送到客户端的总字节数。
-
ssl
-
-
handshakes
(integer
) - 成功的 SSL 握手总数。
-
handshakes_failed
(integer
) - 失败的 SSL 握手总数。
-
session_reuses
(integer
) - SSL 握手期间会话重用的总数。
-
no_common_protocol
(integer
) - 由于没有通用协议,SSL 握手次数失败。
-
no_common_cipher
(integer
) - 由于没有共享密码,SSL 握手失败的次数。
-
handshake_timeout
(integer
) - 由于超时而失败的 SSL 握手次数。
-
peer_rejected_cert
(integer
) - nginx 向客户端提供证书但被拒绝并显示相应的警报消息时失败的 SSL 握手次数。
-
verify_failures
- SSL 证书验证错误
-
no_cert
(integer
) - 客户端未提供所需的证书。
-
expired_cert
(integer
) - 客户端提供了已过期或尚未生效的证书。
-
revoked_cert
(integer
) - 客户端提供了已吊销的证书。
-
other
(integer
) - 其他 SSL 证书验证错误。
-
-
例:
{ "dns" : { "processing" : 1, "connections" : 155569, "sessions" : { "2xx" : 155564, "4xx" : 0, "5xx" : 0, "total" : 155569 }, "discarded" : 0, "received" : 4200363, "sent" : 20489184, "ssl" : { "handshakes" : 76455, "handshakes_failed" : 432, "session_reuses" : 28770, "no_common_protocol" : 4, "no_common_cipher" : 2, "handshake_timeout" : 0, "peer_rejected_cert" : 0, "verify_failures" : { "no_cert" : 0, "expired_cert" : 2, "revoked_cert" : 1, "other" : 1 } } } }
-
-
流连接限制:
-
passed
(integer
) - 既不受限制也不被视为受限的连接总数。
-
rejected
(integer
) - 被拒绝的连接总数。
-
rejected_dry_run
(integer
) - 在试运行模式下记为被拒绝的连接总数。
例:
{ "passed" : 15, "rejected" : 0, "rejected_dry_run" : 2 }
-
-
上游流:
-
peers
- 一个数组:
-
id
(integer
) - 服务器的 ID。
-
server
(string
) - 服务器的地址。
-
service
(string
) - server Directives的 service 参数值。
-
name
(string
) - 在 server Directives中指定的服务器的名称。
-
backup
(boolean
) - 一个布尔值,指示服务器是否为备份服务器。
-
weight
(integer
) - 服务器的重量。
-
state
(string
) - 当前状态,可以是”
up
”, “down
”, “unavail
”, “checking
“或 ”unhealthy
”. -
active
(integer
) - 当前连接数。
-
ssl
-
-
handshakes
(integer
) - 成功的 SSL 握手总数。
-
handshakes_failed
(integer
) - 失败的 SSL 握手总数。
-
session_reuses
(integer
) - SSL 握手期间会话重用的总数。
-
no_common_protocol
(integer
) - 由于没有通用协议,SSL 握手次数失败。
-
handshake_timeout
(integer
) - 由于超时而失败的 SSL 握手次数。
-
peer_rejected_cert
(integer
) - 当 nginx 向上游服务器提供证书但被拒绝并显示相应的警报消息时,失败的 SSL 握手次数。
-
verify_failures
- SSL 证书验证错误
-
expired_cert
(integer
) - 上游服务器提供了已过期或尚未有效的证书。
-
revoked_cert
(integer
) - 上游服务器提供了已吊销的证书。
-
hostname_mismatch
(integer
) - 服务器的证书与主机名不匹配。
-
other
(integer
) - 其他 SSL 证书验证错误。
-
-
-
max_conns
(integer
) - 服务器的max_conns限制。
-
connections
(integer
) - 转发到此服务器的客户端连接总数。
-
connect_time
(integer
) - 连接到上游服务器的平均时间。
-
first_byte_time
(integer
) - 接收第一个字节数据的平均时间。
-
response_time
(integer
) - 接收最后一个字节数据的平均时间。
-
sent
(integer
) - 发送到此服务器的总字节数。
-
received
(integer
) - 从此服务器接收的总字节数。
-
fails
(integer
) - 尝试与服务器通信失败的总数。
-
unavail
(integer
) - 服务器无法进行客户端连接的次数(状态”
unavail
“),因为未成功的尝试次数达到 max_fails 阈值。 -
health_checks
-
downtime
(integer
) - 服务器处于”
unavail
”, “checking
“ 和 ”unhealthy
“说。 -
downstart
(string
) - 服务器变为”
unavail
”, “checking
“或 ”unhealthy
“,采用 ISO 8601 格式,分辨率为毫秒。 -
selected
(string
) - 上次选择服务器处理连接的时间,采用 ISO 8601 格式,分辨率为毫秒。
-
-
zombies
(integer
) - 从组中删除但仍在处理活动客户端连接的当前服务器数。
-
zone
(string
) - 保留组的配置和运行时状态的共享内存区域的名称。
例:
{ "dns" : { "peers" : [ { "id" : 0, "server" : "10.0.0.1:12347", "name" : "10.0.0.1:12347", "backup" : false, "weight" : 5, "state" : "up", "active" : 0, "ssl" : { "handshakes" : 200, "handshakes_failed" : 4, "session_reuses" : 189, "no_common_protocol" : 4, "handshake_timeout" : 0, "peer_rejected_cert" : 0, "verify_failures" : { "expired_cert" : 2, "revoked_cert" : 1, "hostname_mismatch" : 2, "other" : 1 } }, "max_conns" : 50, "connections" : 667231, "sent" : 251946292, "received" : 19222475454, "fails" : 0, "unavail" : 0, "health_checks" : { "checks" : 26214, "fails" : 0, "unhealthy" : 0, "last_passed" : true }, "downtime" : 0, "downstart" : "2022-06-28T11:09:21.602Z", "selected" : "2022-06-28T15:01:25.000Z" }, { "id" : 1, "server" : "10.0.0.1:12348", "name" : "10.0.0.1:12348", "backup" : true, "weight" : 1, "state" : "unhealthy", "active" : 0, "max_conns" : 50, "connections" : 0, "sent" : 0, "received" : 0, "fails" : 0, "unavail" : 0, "health_checks" : { "checks" : 26284, "fails" : 26284, "unhealthy" : 1, "last_passed" : false }, "downtime" : 262925617, "downstart" : "2022-06-28T11:09:21.602Z", "selected" : "2022-06-28T15:01:25.000Z" } ], "zombies" : 0, "zone" : "dns" } }
-
-
流上游服务器:
动态可配置的上游服务器参数:-
id
(integer
) - 上游流服务器的 ID。ID 是自动分配的,无法更改。
-
server
(string
) - 与上游流服务器的 address 参数相同。添加服务器时,可以将其指定为域名。在这种情况下,与域名对应的 IP 地址的更改将被监控并自动应用于上游配置,而无需重新启动 nginx。这需要 ”
stream
“ 块。另请参见 stream upstream 服务器的 resolve 参数。 -
service
(string
) - 与上游服务的 service 参数相同。此参数无法更改。
-
weight
(integer
) - 与上游流服务器的 weight 参数相同。
-
max_conns
(integer
) - 与上游服务器的 max_conns 参数相同。
-
max_fails
(integer
) - 与上游流服务器的 max_fails 参数相同。
-
fail_timeout
(string
) - 与上游流服务器的 fail_timeout 参数相同。
-
slow_start
(string
) - 与上游服务器的 slow_start 参数相同。
-
backup
(boolean
) - 什么时候
true
中,添加备份服务器。此参数无法更改。 -
down
(boolean
) - 与上游流服务器的 down 参数相同。
-
parent
(string
) - 已解析服务器的父服务器 ID。ID 是自动分配的,无法更改。
-
host
(string
) - 已解析服务器的主机名。主机名是自动分配的,无法更改。
例:
{ "id" : 0, "server" : "10.0.0.1:12348", "weight" : 1, "max_conns" : 0, "max_fails" : 1, "fail_timeout" : "10s", "slow_start" : 0, "backup" : false, "down" : false }
-
-
流式传输 Keyval 共享内存区:
使用 GET 方法时流 keyval 共享内存区域的内容。例:
{ "key1" : "value1", "key2" : "value2", "key3" : "value3" }
-
流式传输 Keyval 共享内存区:
流 keyval 共享内存区的内容 使用 POST 或 PATCH 方法时。例:
{ "key1" : "value1", "key2" : "value2", "key3" : { "value" : "value3", "expire" : 30000 } }
-
流区域同步节点:
-
zones
-
每个共享内存区域的同步信息。
“Sync Zone” 对象的集合
-
status
- 集群中每个节点的同步信息。
-
bytes_in
(integer
) - 此节点接收的字节数。
-
msgs_in
(integer
) - 此节点接收的消息数。
-
msgs_out
(integer
) - 此节点发送的消息数。
-
bytes_out
(integer
) - 此节点发送的字节数。
-
nodes_online
(integer
) - 此节点连接到的 Peer 节点的数量。
-
例:
{ "zones" : { "zone1" : { "records_pending" : 2061, "records_total" : 260575 }, "zone2" : { "records_pending" : 0, "records_total" : 14749 } }, "status" : { "bytes_in" : 1364923761, "msgs_in" : 337236, "msgs_out" : 346717, "bytes_out" : 1402765472, "nodes_online" : 15 } }
-
-
同步区:
共享内存区域的同步状态。-
records_pending
(integer
) - 需要发送到集群的记录数。
-
records_total
(integer
) - 存储在共享内存区域中的记录总数。
-
-
解析器区域:
每个特定解析程序区域的 DNS 请求和响应的统计信息。-
requests
-
-
name
(integer
) - 将名称解析为地址的请求总数。
-
srv
(integer
) - 解析 SRV 记录的请求总数。
-
addr
(integer
) - 将地址解析为名称的请求总数。
-
-
responses
-
-
noerror
(integer
) - 成功响应的总数。
-
formerr
(integer
) - FORMERR 的总数 (
Format error
) 响应。 -
servfail
(integer
) - SERVFAIL 的总数 (
Server failure
) 响应。 -
nxdomain
(integer
) - NXDOMAIN 的总数 (
Host not found
) 响应。 -
notimp
(integer
) - NOTIMP 的总数 (
Unimplemented
) 响应。 -
refused
(integer
) - REFUSED 的总数 (
Operation refused
) 响应。 -
timedout
(integer
) - 超时请求的总数。
-
unknown
(integer
) - 完成但出现未知错误的请求总数。
-
例:
{ "resolver_zone1" : { "requests" : { "name" : 25460, "srv" : 130, "addr" : 2580 }, "responses" : { "noerror" : 26499, "formerr" : 0, "servfail" : 3, "nxdomain" : 0, "notimp" : 0, "refused" : 0, "timedout" : 243, "unknown" : 478 } } }
-
-
许可证:
NGINX Plus 实例的许可证和使用情况报告状态。-
eval
(boolean
) - 指示 NGINX Plus 许可证是否为试用许可证。
-
active_till
(integer
) - 许可证到期的 Unix 时间戳。
-
reporting
-
-
healthy
(boolean
) - 指示尽管最近尝试失败,但报告状态是否仍被视为正常。
-
fails
(integer
) - 每次成功发送使用情况报告时重置失败的报告尝试次数。
-
grace
(integer
) - 报告尝试失败后停止流量处理之前的秒数。
-
例:
{ "eval" : false, "active_till" : 1749268757, "reporting" : { "healthy" : true, "fails" : 2, "grace" : 15551961 } }
-
-
工作进程:
每个工作进程的统计信息。-
id
(integer
) - 工作进程的 ID。
-
pid
(integer
) - 作系统使用的工作进程的 PID 标识符。
-
connections
- 已接受、已丢弃、活动和空闲的连接数
每个工作进程。
-
accepted
(integer
) - 客户端连接总数 被 worker 进程接受。
-
dropped
(integer
) - 客户端连接总数 被 worker 进程丢弃。
-
active
(integer
) - 当前活动客户端连接数 当前由 worker 进程处理。
-
idle
(integer
) - 空闲客户端连接数 当前由 worker 进程处理。
-
-
http
-
-
requests
- 工作进程处理的客户端请求总数。
-
total
(integer
) - 工作进程收到的客户端请求总数。
-
current
(integer
) - 工作进程当前正在处理的客户端请求的当前数量。
-
-
例:
{ "id" : 0, "pid" : 32212, "connections" : { "accepted" : 1, "dropped" : 0, "active" : 1, "idle" : 0 }, "http" : { "requests" : { "total" : 15, "current" : 1 } } }
-
-
错误:
nginx 错误对象。-
error
-
-
status
(integer
) - HTTP 错误代码。
-
text
(string
) - 错误描述。
-
code
(string
) - internal nginx 错误代码。
-
-
request_id
(string
) - 请求的 ID 等于 $request_id 变量的值。
-
href
(string
) - 链接到参考文档。
-