返回介绍

介绍

其他

How-To

开发

模块参考

ngx_http_api_module

发布于 2024-08-13 23:46:26 字数 135948 浏览 0 评论 0 收藏 0

ngx_http_api_module 模块(1.13.3)提供了 REST API,可用于访问各种状态信息,动态配置上游(upstream)服务器组以及管理键值对,无需重新配置 nginx。

该模块将取代 ngx_http_status_modulengx_http_upstream_conf_module 模块。

使用 PATCHPOST 方法时,请确保有效载荷不超过用于读取客户端请求正文的缓冲区大小,否则,可能会返回 413(Request Entity Too Large,请求实体过大)错误。

此模块为商业订阅部分。

示例配置

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/6/
http://127.0.0.1/api/6/nginx
http://127.0.0.1/api/6/connections
http://127.0.0.1/api/6/http/requests
http://127.0.0.1/api/6/http/server_zones/server_backend
http://127.0.0.1/api/6/http/caches/cache_backend
http://127.0.0.1/api/6/http/upstreams/backend
http://127.0.0.1/api/6/http/upstreams/backend/servers/
http://127.0.0.1/api/6/http/upstreams/backend/servers/1
http://127.0.0.1/api/6/http/keyvals/one?key=arg1
http://127.0.0.1/api/6/stream/
http://127.0.0.1/api/6/stream/server_zones/server_backend
http://127.0.0.1/api/6/stream/upstreams/
http://127.0.0.1/api/6/stream/upstreams/backend
http://127.0.0.1/api/6/stream/upstreams/backend/servers/1

指令

api

-说明
语法api `[write=on\off]`;
默认——
上下文location

为此 location 打开 REST API 接口。访问此 location 应受到限制

write 参数确定 API 是只读的还是读写。默认情况下,API 为只读。

所有 API 请求都应在 URI 中包含受支持的 API 版本。如果请求 URI 等于 location 前缀,则返回支持的 API 版本列表。当前的 API 版本是 6

请求行中的可选的 fields 参数指定将输出所请求对象的哪些字段:

http://127.0.0.1/api/6/nginx?fields=version,build

status_zone

-说明
语法api status_zone | first_byte | last_byte [inflight];
默认——
上下文server、location、location 中的 if
提示该指令在 1.13.12 版本中出现

在指定区域(zone)中启用虚拟 http服务器状态信息的收集。多个服务器可以共享同一区域。

从 1.17.0 版本开始,可以按每个 location 收集状态信息。特殊值 off 禁用在嵌套 location 块中收集统计信息。注意,统计是在处理结束的 location 的上下文中收集的。如果在请求处理期间发生内部重定向,则它可能与原始 location 不同。

兼容性

端点

  • /

    支持的请求方法

    • GET 返回根端点列表

      返回根端点列表

      可能的响应:

      • 200 - 成功,返回一个字符串数组
      • 404 - 未知版本(UnknownVersion),返回 Error

  • /nginx

    支持的请求方法

    • GET 返回 nginx 运行实例的状态

      返回 nginx 版本、内部名称、地址、加载配置的数量、master 和 worker 进程的 ID 信息。

      请求参数:

      • fieldsstring,可选)

        限制 nginx 运行实例的哪些字段可以输出

      可能的响应:

      • 200 - 成功,返回 nginx
      • 404 - 未知版本(UnknownVersion),返回 Error

  • /processes

    支持的请求方法

    • GET 返回 nginx 进程状态

      返回异常终止和重新启动的子进程的数量。

      可能的响应:

      • 200 - 成功,返回 Processes
      • 404 - 未知版本(UnknownVersion),返回 Error
  • DELETE 重置 nginx 进程统计信息

    重置异常终止和重启的子进程的计数器。

    可能的响应:

    • 200 - 成功
    • 404 - 未知版本(UnknownVersion),返回 Error
    • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /connections

    支持的请求方法

    • GET 返回 nginx 进程状态

      返回客户端连接的统计信息。

      请求参数:

      • fieldsstring,可选)

        限制客户端连接统计信息中哪些字段可以输出

      可能的响应:

      • 200 - 成功,返回 Connections
      • 404 - 未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error
    • DELETE 重置客户端连接统计信息

      重置接受和删除的客户端连接的统计信息。

      可能的响应:

      • 200 - 成功
      • 404 - 未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /slabs/

    支持的请求方法

    • GET 返回所有 slab 的状态信息。

      返回每个与 slab 分配器共享内存区域的 slab 的状态。

      请求参数:

      • fieldsstring,可选)

        限制 slab 区域信息中哪些字段可以输出,如果 fields 为空,将仅输出区域的名称。

      可能的响应:

  • /slabs/{slabZoneName}

    所有请求方法的通用参数:

    • slabZoneNamestring 类型,必须)

      带有 slab 分配器的共享内存区域的名字。

    支持的请求方法

    • GET 返回指定的 slab 状态信息。

      返回指定的 slab 分配器共享内存区域的 slab 状态。

      请求参数:

      • fieldsstring,可选)

        限制 slab 区域信息中哪些字段可以输出,如果 fields 为空,将仅输出区域的名称。

      可能的响应:

待完善...


  • /http/keyvals/

    支持的方法

    • GET 返回 HTTP 键值共享内存区域中的所有键值对

      返回存储在流键值共享内存区域中的所有键值对

      请求参数:

      • fieldsstring,可选)

        如果 fields 为空,只返回 HTTP 键值共享内存区的名称

    可能的响应:

  • /http/keyvals/{httpKeyvalZoneName}

    所有请求方法的通用参数:

    • httpKeyvalZoneNamestring,必须)

      HTTP 键值共享内存区域的名称

    支持的方法:

    • GET 返回指定的 HTTP 键值共享内存区域所有键值对

      返回指定的 HTTP 键值共享内存区域存储的所有键值对

      请求参数:

      • keystring,可选)

        从当前 HTTP 键值对共享内存区域中获取一个指定的键值对

      可能的响应:

      • 200 - 成功,返回一个 HTTP Keyval Shared Memory Zone
      • 404 - 键值对未找到(KeyvalNotFound)、键值对的 key 未找到(KeyvalKeyNotFound)、未知版本(UnknownVersion),返回 Error
    • POST 向指定 HTTP 键值共享内存区域添加一个新的键值对

      向指定 HTTP 键值共享内存区域添加一个新的键值对,如果区域空间空闲,可添加多个键值对

      请求参数:

      • Key-valueHTTP Keyval Shared Memory Zone,必须)

        以 JSON 格式表示的键值对数据,如果内存区域空闲,可添加多个键值对。可以在键值对中以毫秒为单位设置 expire 参数的值来覆盖 keyval_zone 指令中的 timeout 参数配置的过期时间设置新增键值对的过期时间。

      可能的响应:

      • 201 - 已创建
      • 400 - 非法 JSON(KeyvalFormatError)、非法的 key 格式(KeyvalFormatError)、key 必填(KeyvalFormatError)、key 超时时间不允许(KeyvalFormatError)、仅有一个 key 可以被添加(KeyvalFormatError)、读取请求体发生错误(BodyReadError)或返回 Error
      • 404 - key 不存在(KeyvalNotFound、未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error
      • 409 - 实体已存在(EntryExists)、Key 已存在(KeyvalKeyExists
      • 413 - 请求实体过长,返回 Error
      • 415 - JSON 错误(JsonError),返回 Error
    • PATCH 修改一个键值对或删除一个 key

      修改键值对中指定 key 的值;根据 key 将值设置为 null 来达到删除 key 的目的;修改键值对的过期时间;如果集群的键值共享内存区域的同步为启用状态,删除 key 的操作仅发生在当前集群节点。可以在键值对中以毫秒为单位设置 expire 参数的值来覆盖 keyval_zone 指令中的 timeout 参数配置的过期时间设置新增键值对的过期时间。

      请求参数:

      可能的响应:

      • 204 - 操作成功
      • 400 - 非法 JSON(KeyvalFormatError)、非法的 key 格式(KeyvalFormatError)、key 必填(KeyvalFormatError)、key 超时时间不允许(KeyvalFormatError)、仅有一个 key 可以被添加(KeyvalFormatError)、读取请求体发生错误(BodyReadError)或返回 Error
      • 404 - key 不存在(KeyvalNotFound、未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error
      • 409 - 实体已存在(EntryExists)、Key 已存在(KeyvalKeyExists
      • 413 - 请求实体过长,返回 Error
      • 415 - JSON 错误(JsonError),返回 Error
    • DELETE 清空 HTTP 键值共享内存区域数据

      删除流键值共享内存区域中的所有键值对,如果集群的键值共享内存区域的同步为启用状态,清空的操作仅发生在当前集群节点。

      可能的响应:

      • 204 - 成功
      • 404 - Key 找不到(KeyvalNotFound),未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /stream/

    支持的方法:

    • GET 返回所有与流相关的端点

      返回一个包含所有与流相关的第一级端点列表

      可能的响应:

      • 200 - 成功,返回一个字符串数组
      • 404 - 未知版本(UnknownVersion),返回 Error

  • /stream/server_zones/

    支持的方法:

    • GET 返回所有流服务器区域的状态信息

      返回每个流服务器区域 状态信息

      请求参数:

      • fieldsstring,可选)

        限制返回的流服务器区域信息中的数据字段,如果 fields 为空,仅返回服务器区域的名称

      可能的响应:

      • 200 - 成功,返回一个包含所有流服务器区域信息的 Stream Server Zone (#def_nginx_stream_limit_conn_zone) 对象集合
      • 404 - 未知版本(UnknownVersion),返回 Error

  • /stream/server_zones/{streamServerZoneName}

    所有请求方法的通用参数:

    • streamServerZoneNamestring,必须)

      流服务器区域的名称

    支持的方法:

    • GET 返回指定的流服务器区域的状态信息

      返回指定流服务器区域的状态信息

      请求参数:

      • fieldsstring,可选)

        限制流服务器区域状态信息返回的数据字段

      可能的响应:

      • 200 - 成功,返回一个 Stream Server Zone
      • 404 - 服务器区域未找到(ServerZoneNotFound)、未知版本(UnknownVersion),返回 Error
    • DELETE 重置一个指定的流服务器区域统计信息

      重置指定的流服务器区域的连接接受数、断开数,会话数,字节接收和发送数等统计信息

      可能的响应:

      • 204 - 成功
      • 404 - 服务器区域未找到(ServerZoneNotFound)、未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /stream/limit_conns/

    支持的方法:

    • GET 返回所有流的 limit_conn 区域的状态信息

      返回每个流的 limit_conn zone 状态信息

      请求参数:

      可能的响应:

      • 200 - 成功,返回一个包含所有流连接限制信息的 Stream Connections Limiting 对象集合
      • 404 - limit_conn 未找到(LimitConnNotFound)、未知版本(UnknownVersion),返回 Error

  • /stream/limit_conns/{streamLimitConnZoneName}

    所有请求方法的通用参数:

    支持的方法:

    • GET 返回指定的流 limit_conn 区域的状态信息

      返回一个流 limit_conn zone

      请求参数:

      可能的响应:

    • DELETE 重置一个指定的流 limit_conn 区域统计信息

      重置连接限制统计信息

      可能的响应:

      • 204 - 成功
      • 404 - limit_conn 未找到(LimitConnNotFound)、未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /stream/upstreams/

    支持的方法:

    • GET 返回所有流上游服务器的状态信息

      返回每个上游服务器组状态及其所有服务器信息

      请求参数:

      • fieldsstring,可选)

        限制返回上游服务器组的信息字段,如果 fields 为空,仅返回上游的名称

      可能的响应:

      • 200 - 成功,返回一个包含所有流上游的 Stream Upstream 对象集合
      • 404 - 未知版本(UnknownVersion),返回 Error

  • /stream/upstreams/{streamUpstreamName}/

    所有请求方法的通用参数:

    • streamUpstreamNamestring,必须)

      流上游服务器组名称

    支持的方法:

    • GET 返回流上游服务器组状态信息

      返回指定的流上游服务器组状态及其所有服务器信息

      请求参数:

      • fieldsstring,可选)

        限制返回信息中的字段

      可能的响应:

      • 200 - 成功,返回一个 Stream Upstream
      • 400 - 上游为静态(UpstreamStatic),返回 Error
      • 404 - 未知版本(UnknownVersion),返回 Error
    • DELETE 重置指定流上游服务器组的统计信息

      重置指定流上游服务器组中每个服务器的统计信息

      可能的响应:

      • 204 - 成功
      • 400 - 上游为静态(UpstreamStatic),返回 Error
      • 404 - 未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /stream/upstreams/{streamUpstreamName}/servers/

    所有请求方法的通用参数:

    • streamUpstreamNamestring,必须)

      上游流服务器组名称

    支持的方法:

    • GET 返回流上游服务器组所有服务器的配置信息

      返回流上游服务器组所有服务器的配置信息

      可能的响应:

      • 200 - 成功,返回一个 Stream Upstream Server 对象
      • 400 - 上游为静态(UpstreamStatic)、返回 Error
      • 404 - 未知版本(UnknownVersion)、找不到上游信息(UpstreamNotFound)、返回 Error
    • POST 添加一个服务器到流上游服务器组中

      添加一个服务器到流上游服务器组中,使用 JSON 格式指定服务器配置数据

      请求参数:

      • postStreamUpstreamServerStream Upstream Server,必须)

        新服务器的地址和其他可选参数,以 JSON 格式表示,IDbackupservice 参数不能改变。

      可能的响应:

      • 201 - 添加成功,返回一个 Stream Upstream Server 对象
      • 400 - 上游为静态(UpstreamStatic)、无效的 parameter 值(UpstreamConfFormatError)、server 参数缺失(UpstreamConfFormatError)、未知参数 nameUpstreamConfFormatError)、嵌套的对象或列表(UpstreamConfFormatError)、解析发生 errorUpstreamBadAddress)、服务器 host 中没有端口(UpstreamBadAddress)、服务上游 host 可能没有端口(UpstreamBadAddress)、服务上游 host 需要域名(UpstreamBadAddress)、无效的 weightUpstreamBadWeight)、无效的 max_connsUpstreamBadMaxConns)、无效的 max_failsUpstreamBadMaxFails)、无效的 fail_timeoutUpstreamBadFailTimeout)、无效的 slow_startUpstreamBadSlowStart)、service 为空(UpstreamBadService)、没有定义 resolver 用于解析(UpstreamConfNoResolver)、上游 name 没有备份服务器(UpstreamNoBackup)、上游 name 内存耗尽(UpstreamOutOfMemory)、读取请求体失败(BodyReadError)、返回 Error
      • 404 - 未知版本(UnknownVersion)、找不到上游信息(UpstreamNotFound)、返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error
      • 409 - 记录已存在(EntryExists),返回 Error
      • 415 - JSON 错误(JsonError),返回 Error
    • DELETE 从流上游服务器组中移除某个服务器

      从流上游服务器组中移除某个服务器

      可能的响应:

      • 200 - 成功,返回一个 Stream Upstream Server 对象
      • 400 - 上游为静态(UpstreamStatic)、无效服务器 ID(UpstreamBadServerId)、服务器 id 不可移除(UpstreamServerImmutable)、返回 Error
      • 404 - ID 为 id 的服务器不存在(UpstreamServerNotFound)、未知版本(UnknownVersion)、找不到上游信息(UpstreamNotFound)、返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /stream/upstreams/{streamUpstreamName}/servers/{streamUpstreamServerId}

    所有请求方法的通用参数:

    • streamUpstreamNamestring,必须)

      上游服务器组名称

    • streamUpstreamServerIdstring,必须)

      服务器 ID

    支持的方法:

    • GET 返回上游服务器组中某个服务器的配置信息

      返回上游服务器组中某个服务器的配置信息

      可能的响应:

      • 200 - 成功,返回一个 Stream Upstream Server 对象
      • 400 - 上游为静态(UpstreamStatic)、非法服务器 ID(UpstreamBadServerId)、返回 Error
      • 404 - 未知版本(UnknownVersion)、找不到上游信息(UpstreamNotFound)、服务器 ID 不存在(UpstreamServerNotFound)、返回 Error
    • PATCH 修改流上游服务器组的某个服务器信息

      修改流上游服务器组的某个服务器配置信息,使用 JSON 格式指定服务器配置数据

      请求参数:

      • patchStreamUpstreamServerStream Upstream Server,必须)

        服务器参数,以 JSON 格式表示,IDbackupservice 参数不能改变。

      可能的响应:

      • 200 - 成功,返回一个 Stream Upstream Server 对象
      • 400 - 上游为静态(UpstreamStatic)、无效的 parameter 值(UpstreamConfFormatError)、未知参数 nameUpstreamConfFormatError)、嵌套的对象或列表(UpstreamConfFormatError)、解析发生 errorUpstreamBadAddress)、无效的 server 参数(UpstreamBadAddress)、服务器 server 没有端口(UpstreamBadAddress)、无效服务器 ID(UpstreamBadServerId)、无效的 weightUpstreamBadWeight)、无效的 max_connsUpstreamBadMaxConns)、无效的 max_failsUpstreamBadMaxFails)、无效的 fail_timeoutUpstreamBadFailTimeout)、无效的 slow_startUpstreamBadSlowStart)、读取请求体失败(BodyReadError)、service 为空(UpstreamBadService)、服务器 ID 的地址不能变更(UpstreamServerImmutable)、服务器 IDweight 不能变更(UpstreamServerWeightImmutable)、上游 name 内存耗尽(UpstreamOutOfMemory)、返回 Error
      • 404 - ID 为 id 的服务器不存在(UpstreamServerNotFound)、未知版本(UnknownVersion)、找不到上游信息(UpstreamNotFound)、返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error
      • 415 - JSON 错误(JsonError),返回 Error
    • DELETE 从流上游服务器组中移除某个服务器

      从流上游服务器组中移除某个服务器

      可能的响应:

      • 200 - 成功,返回一个 Stream Upstream Server 对象
      • 400 - 上游为静态(UpstreamStatic)、无效服务器 ID(UpstreamBadServerId)、服务器 id 不可移除(UpstreamServerImmutable)、返回 Error
      • 404 - ID 为 id 的服务器不存在(UpstreamServerNotFound)、未知版本(UnknownVersion)、找不到上游信息(UpstreamNotFound)、返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /stream/keyvals/

    支持的方法

    • GET 返回流键值区域中的所有键值对

      返回存储在流键值共享内存区域中的所有键值对

      请求参数:

      • fieldsstring,可选)

        如果 fields 为空,只返回流键值共享内存区域的名称

    可能的响应:

  • /stream/keyvals/{streamKeyvalZoneName}

    所有请求方法的通用参数:

    • streamKeyvalZoneNamestring,必须)

      流键值共享内存区域的名字

    支持的方法

    • GET 返回流键值区域中的键值对

      返回存储在流键值共享内存区域中的键值对

      请求参数:

      • keystring,可选)

        要从流键值共享内存区域中获取的键值的 key

      可能的响应:

    • POST 添加一个键值对到流键值共享内存区域中

      添加一个新的键值对到流键值共享内存区域中。如果内存区域空闲,可添加多个键值对

      请求参数:

      • Key-valueStream Keyval Shared Memory Zone,必须)

        一个键值对规定必须为 JSON 格式,如果内存区域空闲,可添加多个键值对。可以在键值对中以毫秒为单位设置 expire 参数的值来覆盖 keyval_zone 指令中的 timeout 参数配置的过期时间设置新增键值对的过期时间。

      可能的响应:

      • 201 - 已创建
      • 400 - 非法 JSON(KeyvalFormatError)、非法的 key 格式(KeyvalFormatError)、key 必填(KeyvalFormatError)、key 超时时间不允许(KeyvalFormatError)、仅有一个 key 可以被添加(KeyvalFormatError)、读取请求体发生错误(BodyReadError)或返回 Error
      • 404 - key 不存在(KeyvalNotFound、未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error
      • 409 - 实体已存在(EntryExists)、Key 已存在(KeyvalKeyExists
      • 413 - 请求实体过长,返回 Error
      • 415 - JSON 错误(JsonError),返回 Error
    • PATCH 修改一个键值对或删除一个 key

      修改键值对中指定 key 的值;根据 key 将值设置为 null 来达到删除 key 的目的;修改键值对的过期时间;如果集群的键值共享内存区域的同步为启用状态,删除 key 的操作仅发生在当前集群节点。可以在键值对中以毫秒为单位设置 expire 参数的值来覆盖 keyval_zone 指令中的 timeout 参数配置的过期时间设置新增键值对的过期时间。

      请求参数:

      可能的响应:

      • 204 - 操作成功
      • 400 - 非法 JSON(KeyvalFormatError)、非法的 key 格式(KeyvalFormatError)、key 必填(KeyvalFormatError)、key 超时时间不允许(KeyvalFormatError)、仅有一个 key 可以被添加(KeyvalFormatError)、读取请求体发生错误(BodyReadError)或返回 Error
      • 404 - key 不存在(KeyvalNotFound、未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error
      • 409 - 实体已存在(EntryExists)、Key 已存在(KeyvalKeyExists
      • 413 - 请求实体过长,返回 Error
      • 415 - JSON 错误(JsonError),返回 Error
    • DELETE 清空流键值共享内存区域数据

      删除流键值共享内存区域中的所有键值对,如果集群的键值共享内存区域的同步为启用状态,清空的操作仅发生在当前集群节点。

      可能的响应:

      • 204 - 成功
      • 404 - Key 找不到(KeyvalNotFound),未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /stream/zone_sync/

    支持的方法

    • GET 返回节点的同步状态

      返回一个集群节点的同步状态

      可能的响应:

  • /resolvers/

    支持的方法

    • GET 返回所有 resolver zone 的统计信息

      返回所有 resolver zone 的统计信息

      请求参数:

      • fieldsstring,可选)

        限制 resolver zone 统计信息输出哪些字段

      可能的响应:

      • 200 - 成功,返回一个包含所有 resolver 的 Resolver Zone 集合
      • 404 - 未知版本(UnknownVersion),返回 Error

  • /resolvers/{resolverZoneName}

    所有请求方法的通用参数:

    • resolverZoneNamestring,必须)

      resolver zone 的名字

    支持的方法

    • GET 返回 resolver zone 的统计信息

      返回 resolver zone 的统计信息

      请求参数:

      • fieldsstring,可选)

        限制 resolver zone 统计信息输出哪些字段(requests、responses 或者全部)

      可能的响应:

      • 200 - 成功,返回 Resolver Zone
      • 404 - Resolver Zone 找不到(ResolverZoneNotFound),未知版本(UnknownVersion),返回 Error
    • DELETE 重置 resolver zone 的统计信息

      重置 resolver zone 的统计信息

      可能的响应:

      • 204 - 成功
      • 404 - Resolver Zone 找不到(ResolverZoneNotFound),未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

  • /ssl

    支持的方法

    • GET 返回 SSL 统计信息

      返回 SSL 统计信息

      请求参数:

      • fieldsstring,可选)

        限制 SSL 统计信息输出哪些字段

      可能的响应:

      • 200 - 成功,返回 SSL
      • 404 - 未知版本(UnknownVersion),返回 Error
    • DELETE 重置 SSL 统计信息

      重置 SSL 统计信息

      可能的响应:

      • 204 - 成功
      • 404 - 未知版本(UnknownVersion),返回 Error
      • 405 - 不允许的请求方法(MethodDisabled),返回 Error

响应对象

  • nginx

    nginx 的基本信息:

    • versionstring

      nginx 的版本号

    • buildstring

      nginx 的内部版本号

    • addressstring

      接收状态请求的服务器地址

    • generationinteger

      配置重载次数

    • load_timestampstring

      最近一次配置重载时间,ISO 8601 时间格式,精确到毫秒

    • timestampstring

      当前时间,ISO 8601 时间格式,精确到毫秒

    • pidinteger

      当前处理状态请求的 worker 进程的 ID

    • ppidinteger

      启动当前 worker 进程的 master 进程的 ID

    示例:

    {
      "nginx" : {
        "version" : "1.17.3",
        "build" : "nginx-plus-r19",
        "address" : "206.251.255.64",
        "generation" : 6,
        "load_timestamp" : "2019-10-01T11:15:44.467Z",
        "timestamp" : "2019-10-01T09:26:07.305Z",
        "pid" : 32212,
        "ppid" : 32210
      }
    }
    
  • 进程

    • respawnedinteger

      异常终止和重新创建的子进程总数

    示例:

    {
      "respawned" : 0
    }
    
  • 连接

    接收、断开、活动和空闲状态连接的数量

    • acceptedinteger

      接收客户端连接的总数

    • droppedinteger

      断开客户端连接的总数

    • activeinteger

      当前处于活动状态的客户端连接数

    • idleinteger

      当前空闲的客户端连接数

    示例:

    {
      "accepted" : 4968119,
      "dropped" : 0,
      "active" : 5,
      "idle" : 117
    }
    
  • SSL

    • handshakesinteger

      成功进行 SSL 握手总数

    • handshakes_failedinteger

      SSL 握手失败总数

    • session_reusesinteger

      SSL 握手期间会话复用总数

    示例:

    {
      "handshakes" : 79572,
      "handshakes_failed" : 21025,
      "session_reuses" : 15762
    }
    
  • slab 分配器共享内存区域

    • pages

      空闲和已使用的内存页数量

      • usedinteger

        当前已使用的内存页数量

      • freeinteger

        当前空闲内存页数量

    • slots

      内存槽(8、16、32、64、128等)状态数据

      一个内存槽对象集合

    示例:

    {
      "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
        }
      }
    }
    
  • 内存槽

    • usedinteger

      当前内存槽已使用数量

    • freeinteger

      当前空闲内存槽数量

    • reqsinteger

      尝试申请内存空间的总次数

    • failsinteger

      尝试申请内存空间失败的次数

  • HTTP 请求

    • totalinteger

      客户端请求总次数

    • currentinteger

      当前客户端请求次数

    示例:

    {
      "total" : 10624511,
      "current" : 4
    }
    
  • HTTP 服务器区(Zone)

    • processinginteger

      当前正在处于处理中的客户端请求数量

    • requestsinteger

      接收的客户端请求数量

    • responses

      响应客户端总次数,1xx2xx3xx4xx5xx 类响应状态码和每个具体状态码的响应次数信息

      • 1xxinteger

        响应 1xx 类状态码的次数

      • 2xxinteger

        响应 2xx 类状态码的次数

      • 3xxinteger

        响应 3xx 类状态码的次数

      • 4xxinteger

        响应 4xx 类状态码的次数

      • 5xxinteger

        响应 5xx 类状态码的次数

      • codes

        每个具体状态码的响应次数

        • codeNumberinteger

          每个具体状态码的响应次数

      • totalinteger

        响应客户端总次数

    • discardedinteger

      未发送响应而完成的请求总数

    • receivedinteger

      接收到客户端得总字节数

    • sentinteger

      发送给客户端得总字节数

    示例:

    {
      "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
    }
    
  • HTTP Location Zone

    • requestsinteger

      已接收到的客户端请求数量

    • responses

      响应客户端总次数,1xx2xx3xx4xx5xx 类响应状态码和每个具体状态码的响应次数信息

      • 1xxinteger

        响应 1xx 类状态码的次数

      • 2xxinteger

        响应 2xx 类状态码的次数

      • 3xxinteger

        响应 3xx 类状态码的次数

      • 4xxinteger

        响应 4xx 类状态码的次数

      • 5xxinteger

        响应 5xx 类状态码的次数

      • codes

        每个具体状态码的响应次数

        • codeNumberinteger

          每个具体状态码的响应次数

      • totalinteger

        响应客户端总次数

    • discardedinteger

      未发送响应而完成的请求总数

    • receivedinteger

      接收到客户端得总字节数

    • sentinteger

      发送给客户端得总字节数

    示例:

    {
      "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
    }
    
  • HTTP 缓存

    • sizeinteger

      当前缓存大小

    • max_sizeinteger

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

    • coldboolean

      一个布尔值,指定缓存加载器进程是否一直从磁盘加载数据到缓存中

    • hit

      • responsesinteger

        从缓存中读取的有效响应总数

      • bytesinteger

        从缓存读取的总字节数

    • stale

      • responsesinteger

        从缓存中读取的过期响应总数(参考 proxy_cache_use_stale 和其他 *_cache_use_stale 指令)

      • bytesinteger

        从缓存读取的总字节数

    • updating

      • responsesinteger

        更新响应时从缓存中读取的过期响应总数(参考 proxy_cache_use_stale 和其他 *_cache_use_stale 指令)

      • bytesinteger

        从缓存读取的总字节数

    • revalidated

      • responsesinteger

        更新响应时从缓存中读取的过期和重新校验响应总数(参考 proxy_cache_use_stale 和其他 *_cache_use_stale 指令)

      • bytesinteger

        从缓存读取的总字节数

    • miss

      • responsesinteger

        缓存中未找到的响应总数

      • bytesinteger

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

      • responses_writteninteger

        写入到缓存中的响应总数

      • bytes_writteninteger

        写入到缓存的字节总数

    • expired

      • responsesinteger

        未从缓存中获取的过期响应总数

      • bytesinteger

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

      • responses_writteninteger

        写入到缓存中的响应总数

      • bytes_writteninteger

        写入到缓存的字节总数

    • bypass

      • responsesinteger

        由于 proxy_cache_bypass 和其他 *_cache_bypass 指令配置而未在缓存中找到的响应总数

      • bytesinteger

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

      • responses_writteninteger

        写入到缓存中的响应总数

      • bytes_writteninteger

        写入到缓存的字节总数

    示例:

    {
      "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 连接限制

    • passedinteger

      未受限也不作为受限的连接总数

    • rejectedinteger

      拒绝的连接总数

    • rejected_dry_runinteger

      dry run 模式下视为被拒绝的连接总数

    示例:

    {
      "passed" : 15,
      "rejected" : 0,
      "rejected_dry_run" : 2
    }
    
  • HTTP 请求速率限制

    • passedinteger

      未受限也不作为受限的请求总数

    • delayedinteger

      延迟请求的总数

    • rejectedinteger

      拒绝的请求总数

    • delayed_dry_runinteger

      dry run 模式下视为延迟的请求总数

    • rejected_dry_runinteger

      dry run 模式下视为被拒绝的请求总数

    示例:

    {
      "passed" : 15,
      "delayed" : 4,
      "rejected" : 0,
      "delayed_dry_run" : 1,
      "rejected_dry_run" : 2
    }
    
  • HTTP 上游(Upstream)

    • peers

      一个数组

      • idinteger

        服务器 ID

      • serverstring

        服务器地址

      • servicestring

        server 指令的 service 参数值

      • namestring

        服务器在 server指令中指定的 name

      • backupboolean

        布尔值,代表服务器是否为备用服务器

      • weightinteger

        服务器权重

      • statestring

        当前状态,updrainingdownunavailcheckingunhealthy 中的其一值

      • activeinteger

        当前活动连接数

      • max_connsinteger

        服务器的最大连接限制(max_conn

      • requestsinteger

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

      • responses

        • 1xxinteger

          状态码为 1xx 的响应数量

        • 2xxinteger

          状态码为 2xx 的响应数量

        • 3xxinteger

          状态码为 3xx 的响应数量

        • 4xxinteger

          状态码为 4xx 的响应数量

        • 5xxinteger

          状态码为 5xx 的响应数量

        • codes

          每个具体状态码的响应数量

          • codeNumberinteger

            具体状态码的响应数量

        • totalinteger

          从此服务器获取的响应数量

      • sentinteger

        发到此服务器的字节总数

      • receivedinteger

        接收到此服务器的字节总数

      • failsinteger

        尝试与此服务器通信失败的次数

      • unavailinteger

        由于失败重试达到 max_fails 阈值配置,对于客户端请求,此服务器为不可用状态的次数

      • health_checks

        • checksinteger

          健康检查发出的请求总数

        • failsinteger

          健康检查失败的次数

        • unhealthyinteger

          健康检查中,服务器为非健康状态(unhealthy 状态)的次数

        • last_passedboolean

          布尔值,表示最后一次健康检查是否成功并且测试通过

      • downtimeinteger

        服务器处于 unavailcheckingunhealthy 状态的时长

      • downstartstring

        服务器处于 unavailcheckingunhealthy 状态时的时间,ISO 8601 时间格式,精确到毫秒

      • selectedstring

        此服务器最近一次被挑选处理请求的时间,ISO 8601 时间格式,精确到毫秒

      • header_timeinteger

        从此服务器获取响应头的平均时长

      • response_timeinteger

        从此服务器获取响应的平均时长

    • keepaliveinteger

      当前 keepalive 连接的数量

    • zombiesinteger

      当前已经从组中移除但仍在处理请求的服务器数量

    • zonestring

      用于存储组配置和运行时状态的共享内存区域名称

    • queue

      请求队列,包含一下数据:

      • sizeinteger

        存在队列中的请求数量

      • max_sizeinteger

        队列存储请求的最大数量

      • overflowsinteger

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

    示例:

    {
      "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,
          "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" : "2019-10-01T11:09:21.602Z",
          "selected" : "2019-10-01T15: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" : "2019-10-01T11:09:21.602Z",
          "selected" : "2019-10-01T15:01:25.000Z"
        }
        ],
        "keepalive" : 0,
        "zombies" : 0,
        "zone" : "upstream_backend"
      }
    }
    
  • HTTP 上游服务器

    HTTP 上游服务器动态可配置参数

    • idinteger

      上游服务器 ID,自动分配,不能更改

    • serverstring

      与 HTTP 上游服务器的 address 参数值一致。当添加一个服务器时,可以将它指定为一个域名。这种情况下,域名对应的 IP 地址的变更被监控并自动应用到上游配置而无需重启 nginx,这要求 http 块中配置 resolver 指令,可参考 HTTP 上游服务器的 resolver 参数。

    • servicestring

      与 HTTP 上游服务器的 service 参数值一致,此参数不能被修改

    • weightinteger

      与 HTTP 上游服务器的 weight 参数值一致

    • max_connsinteger

      与 HTTP 上游服务器的 max_conns 参数值一致

    • max_failsinteger

      与 HTTP 上游服务器的 max_fails 参数值一致

    • fail_timeoutinteger

      与 HTTP 上游服务器的 fail_timeout 参数值一致

    • slow_startstring

      与 HTTP 上游服务器的 slow_start 参数值一致

    • routestring

      与 HTTP 上游服务器的 route 参数值一致

    • backupboolean

      与 HTTP 上游服务器的 backup 参数值一致

    • downboolean

      与 HTTP 上游服务器的 down 参数值一致

    • drainboolean

      与 HTTP 上游服务器的 drain 参数值一致

    • parentstring

      解析服务器的父服务器 ID,自动分配,不能修改

    • hoststring

      解析服务器的主机名,自动分配,不能修改

    示例:

    {
      "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 键值共享内存空间

    当使用 POST 或者 PATCH 方法时,HTTP 键值共享内存空间的内容

    示例:

    {
      "key1" : "value1",
      "key2" : "value2",
      "key3" : {
        "value" : "value3",
        "expire" : 30000
      }
    }
    
  • 流服务器区(Stream Server Zone)

  • processinginteger

    当前正在处于处理中的客户端请求数量

  • connectionsinteger

    接收的客户端请求数量

  • sessions

    会话完成总数,响应2xx4xx5xx 类状态码的完成会话数量

    • 2xxinteger

      响应 2xx状态码的次数

    • 4xxinteger

      响应 4xx 类[状态码]../stream/ngx_stream_core_module.md#var_status)的次数

    • 5xxinteger

      响应 5xx 类[状态码]../stream/ngx_stream_core_module.md#var_status)的次数

    • totalinteger

      完成客户端会话总次数

  • discardedinteger

    未创建会话而完成连接总数

  • receivedinteger

    接收到客户端得总字节数

  • sentinteger

    发送给客户端得总字节数

    示例:

    {
    "dns" : {
        "processing" : 1,
        "connections" : 155569,
        "sessions" : {
        "2xx" : 155564,
        "4xx" : 0,
        "5xx" : 0,
        "total" : 155569
      },
      "discarded" : 0,
      "received" : 4200363,
      "sent" : 20489184
    }
    }
    
  • 流连接限制

    • passedinteger

      未受限也不作为受限的连接总数

    • rejectedinteger

      拒绝的连接总数

    • rejected_dry_runinteger

      dry run 模式下视为被拒绝的连接总数

    示例:

    {
      "passed" : 15,
      "rejected" : 0,
      "rejected_dry_run" : 2
    }
    
  • 流上游(Upstream)

    • peers

      数组类型

      • idinteger

        服务器 ID

      • serverstring

        服务器地址

      • servicestring

        server 指令的 service 参数值

      • namestring

        服务器在 server指令中指定的 name

      • backupboolean

        布尔值,代表服务器是否为备用服务器

      • weightinteger

        服务器权重

      • statestring

        当前状态,updrainingdownunavailcheckingunhealthy 中的其一值

      • activeinteger

        当前连接数

      • max_connsinteger

        服务器的最大连接限制([max_conn](../stream/ngx_stream_upstream_module.md#weight)

      • connectionsinteger

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

      • connect_timeinteger

        连接到上游服务器平均耗时

      • first_byte_timeinteger

        接收数据的第一个字节平均时间

      • response_timeinteger

        返回数据的最后一个字节平均时间

      • sentinteger

        发到此服务器的字节总数

      • receivedinteger

        接收到此服务器的字节总数

      • failsinteger

        尝试与此服务器通信失败的次数

      • unavailinteger

        由于失败重试达到 max_fails 阈值配置,对于客户端连接,此服务器为不可用状态的次数

      • health_checks

        • checksinteger

          健康检查发出的请求总数

        • failsinteger

          健康检查失败的次数

        • unhealthyinteger

          健康检查中,服务器为非健康状态(unhealthy 状态)的次数

        • last_passedboolean

          布尔值,表示最后一次健康检查是否成功并且测试通过

      • downtimeinteger

        服务器处于 unavailcheckingunhealthy 状态的时长

      • downstartstring

        服务器处于 unavailcheckingunhealthy 状态时的时间,ISO 8601 时间格式,精确到毫秒

      • selectedstring

        此服务器最近一次被挑选处理请求的时间,ISO 8601 时间格式,精确到毫秒

    • zombiesinteger

      当前已经从组中移除但仍在处理活动连接的服务器数量

    • zonestring

      用于存储组配置和运行时状态的共享内存区域名称

    示例:

    {
      "dns" : {
        "peers" : [
        {
          "id" : 0,
          "server" : "10.0.0.1:12347",
          "name" : "10.0.0.1:12347",
          "backup" : false,
          "weight" : 5,
          "state" : "up",
          "active" : 0,
          "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" : "2019-10-01T11:09:21.602Z",
          "selected" : "2019-10-01T15: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" : "2019-10-01T11:09:21.602Z",
          "selected" : "2019-10-01T15:01:25.000Z"
        }
        ],
        "zombies" : 0,
        "zone" : "dns"
      }
    }
    
  • HTTP 上游服务器

    流上游服务器动态可配置参数

    • idinteger

      上游服务器 ID,自动分配,不能更改

    • serverstring

      与流上游服务器的 address 参数值一致。当添加一个服务器时,可以将它指定为一个域名。这种情况下,域名对应的 IP 地址的变更被监控并自动应用到上游配置而无需重启 nginx,这要求 stream 块中配置 resolver 指令,可参考流上游服务器的 resolver 参数。

    • servicestring

      与流上游服务器的 service 参数值一致,此参数不能被修改

    • weightinteger

      与流上游服务器的 weight 参数值一致

    • max_connsinteger

      与流上游服务器的 max_conns 参数值一致

    • max_failsinteger

      与流上游服务器的 max_fails 参数值一致

    • fail_timeoutinteger

      与流上游服务器的 fail_timeout 参数值一致

    • slow_startstring

      与流上游服务器的 slow_start 参数值一致

    • backupboolean

      与流上游服务器的 backup 参数值一致

    • downboolean

      与流上游服务器的 down 参数值一致

    • parentstring

      解析服务器的父服务器 ID,自动分配,不能修改

    • hoststring

      解析服务器的主机名,自动分配,不能修改

    示例:

    {
      "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
    }
    
  • 流键值共享内存空间

    当使用 GET 方法时,流键值共享内存空间的内容

    示例:

    {
      "key1" : "value1",
      "key2" : "value2",
      "key3" : "value3"
    }
    

    当使用 POST 或 PATCH 方法时,流键值共享内存空间的内容

    示例:

    {
      "key1" : "value1",
      "key2" : "value2",
      "key3" : {
        "value" : "value3",
        "expire" : 30000
      }
    }
    
  • 流区域同步节点(Stream Zone Sync Node)

    • zones

      同步每一个共享内存区域的信息

      一个 Sync Zone 对象集合

    • status

      集群中每个节点的同步状态

      • bytes_ininteger

        本节点接收到的字节数

      • msgs_ininteger

        本节点接收到的消息数量

      • msgs_outinteger

        本节点发送的消息数量

      • bytes_outinteger

        本节点发送的字节数量

      • nodes_onlineinteger

        本节点已连接的通道数量

    示例:

    {
      "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_pendinginteger

      需要发送到集群的记录数

    • records_totalinteger

      存储在共享内存区域中的记录总数

  • Resolver Zone

    每个 resolver zone 的静态 DNS 请求和响应统计信息

    • requests

      • nameinteger

        解析名称为地址的请求数

      • srvinteger

        解析 SRV 记录的请求数

      • addrinteger

        解析地址为名字的请求数

    • responses

      • noerrorinteger

        成功响应数

      • formerrinteger

        FORMERR(Format error)响应数

      • servfailinteger

        SERVFAIL(Server failure)响应数

      • nxdomaininteger

        NXDOMAIN(Host not found)响应数

      • notimpinteger

        NOTIMP(Unimplemented)响应数

      • refusedinteger

        REFUSED(Operation refused)响应数

      • timedoutinteger

        超时响应数

      • unknowninteger

        以未知错误状态完成的请求数量

    示例:

    {
      "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 错误对象

    • error

      • statusinteger

        HTTP 错误码

      • textstring

        错误描述文本

      • codestring

        nginx 内部错误码

    • request_idstring

      请求 ID,值等于 $request_id 变量

    • hrefstring

      参考文档链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文