本专栏非常感谢大家得关注和支持,本人开源项目站点https://erosbt.com 将自己热爱与信仰的技术,持续不辍地传递。
Nginx专栏
- 手把手教你Nginx常用模块详解之ngx_http_access_module(一)
- 手把手教你Nginx常用模块详解之ngx_http_addition_module(二)
- 手把手教你Nginx常用模块详解之ngx_http_api_module(三)
- 手把手教你Nginx常用模块详解之ngx_http_gzip_module(四)
- 手把手教你Nginx常用模块详解之ngx_http_limit_conn_module(五)
- 手把手教你Nginx常用模块详解之ngx_http_upstream_module(六)
- 手把手教你Nginx常用模块详解之ngx_stream_ssl_module(七)
- 手把手教你Nginx常用模块详解之ngx_stream_upstream_module(八)
- 手把手教你Nginx常用模块详解之ngx_http_perl_module(九)
- 手把手教你Nginx常用模块详解之ngx_http_rewrite_module(十)
- 手把手教你Nginx常用模块详解之ngx_http_status_module(十一)
一. 指令
ngx_http_status_module
该ngx_http_status_module模块提供对各种状态信息的访问。
二. 语法
句法: | 状态; |
默认: | — |
语境: | 位置 |
状态信息将可以从周围的位置访问。访问这个位置应该是有限的。
句法: | status_format json; status_format jsonp回调; |
默认: | status_format json; |
语境: | http,服务器,位置 |
默认情况下,状态信息以JSON格式输出。
或者,数据可以作为JSONP输出。该callback参数指定回调函数的名称。该值可以包含变量。如果省略参数,或者计算的值是空字符串,则使用“ ngx_status_jsonp_callback”。
句法: | status_zone区域; |
默认: | — |
语境: | 服务器 |
启用指定的虚拟http或流(1.7.11)服务器状态信息的收集zone。多台服务器可能共享同一个区域。
数据
提供以下状态信息:
- version提供的数据集的版本。目前的版本是8. nginx_version版本的nginx。
- nginx_buildnginx构建的名称。
- address接受状态请求的服务器的地址。
- generation配置重新加载的总数。
- load_timestamp上次重新加载配置的时间,以Epoch以来的毫秒数表示。
- timestampEpoch以来的当前时间(以毫秒为单位)。
- pid处理状态请求的工作进程的ID。
- ppid启动辅助进程的主进程的标识。
- processesrespawned异常终止和重新生成的子进程的总数。
- connectionsaccepted接受的客户端连接的总数。
- dropped丢弃的客户端连接总数。
- active当前活动的客户端连接数。
- idle当前闲置的客户端连接数。
- sslhandshakes成功的SSL握手总数。
- handshakes_failed失败的SSL握手总数。
- session_reusesSSL握手期间会话重用的总次数。
- requeststotal客户端请求的总数。
- current当前的客户端请求数。
- server_zones对于每个status_zone:processing当前正在处理的客户端请求的数量。
- requests客户端收到的客户端请求总数。
- responsestotal发送给客户的回复总数。
- 1xx,2xx,3xx,4xx,5xx响应状态码数1XX,2XX,3XX,4XX,5XX和。
- discarded没有发送回应完成的请求总数。
- received从客户端收到的总字节数。
- sent发送给客户端的总字节数。
- slabs对于使用slab分配器的每个共享内存区域:pagesused当前使用的内存页数。
- 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转发到此服务器的客户端请求总数。
- responsestotal从此服务器获得的响应总数。
- 1xx,2xx,3xx,4xx,5xx状态代码为1xx,2xx,3xx,4xx和5xx的响应数量。
- sent发送到此服务器的总字节数。
- received从此服务器收到的总字节数。
- fails尝试与服务器通信失败的总次数。
- 由于达到max_fails阈值的失败尝试unavail次数,服务器无法用于客户端请求(状态“ unavail”)的次数。
- health_checkschecks健康检查请求的总数。
- fails健康检查失败的次数。unhealthy服务器变得不健康多少次(状态“ unhealthy”)。
- last_passed布尔值,指示最后的运行状况检查请求是否成功并通过了测试。
- downtime服务器在“ unavail”,“ checking”和“unhealthy“ 状态。downstart服务器变为“ unavail”,“ checking”或“ unhealthy” 的时间(自Epoch以来以毫秒为单位)。
- selected上一次选择服务器处理请求(1.7.5)时的时间(从Epoch开始,以毫秒为单位)。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,revalidatedresponses从缓存中读取的响应的总数(命中或由于proxy_cache_use_stale等引起的陈旧响应)。
- bytes从缓存中读取的总字节数。
- miss,expired,bypassresponses的响应的总数不从缓存(未命中,期满,或绕过由于proxy_cache_bypass和喜欢)。
- bytes从代理服务器读取的总字节数。
- responses_written写入缓存的响应总数。
- bytes_written写入缓存的总字节数。
- streamserver_zones对于每个status_zone:processing当前正在处理的客户端连接数。connections客户端接受的连接总数。
- sessionstotal完成的客户端会话总数。
- 2xx,4xx,5xx用状态代码2xx,4xx或5xx完成的会话数量。
- discarded完成连接的总数而不创建会话。received从客户端收到的总字节数。
- sent发送给客户端的总字节数。upstreams对于每个动态可配置组,提供以下数据:peers为每个服务器提供以下数据:服务器的idID。
- 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尝试与服务器通信失败的总次数。由于达到max_fails阈值的失败尝试unavail次数,服务器无法用于客户端连接(状态“ unavail”)多少次。
- health_checkschecks健康检查请求的总数。fails健康检查失败的次数。unhealthy服务器变得不健康多少次(状态“ unhealthy”)。
- last_passed布尔值,指示最后的运行状况检查请求是否成功并通过了测试。
- downtime服务器处于“ unavail”,“ checking”和“ unhealthy”状态的总时间。
- downstart当服务器成为“ unavail”,“ checking”或“”时,时间(从Epoch开始以毫秒为单位)unhealthy”。
- selected上次选择服务器处理连接时的时间(自Epoch起,以毫秒为单位)。
- zombies当前从组中删除的服务器数量,但仍处理活动客户端连接。
- zone保持组的配置和运行时状态的共享内存区域的名称。
三. 示例
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”按上图所示进行配置。
以上更多详解请大家关注nginx官方网站https://nginx.org/en/docs/
以上就是我们今天的教程,如果本文对你有所帮助,欢迎关注点赞,分享给您身边的朋友。您的鼓励就是对我的最大动力。