跳转至

Nginx

Nginx 是一个网页服务器,它能反向代理 HTTP, HTTPS, SMTP, POP3, IMAP 的协议链接,以及一个负载均衡器和一个 HTTP 缓存,其特点是占有内存少,并发能力强。

Cloud Insight 通过收集 Nginx 状态页数据监控 web 服务器的请求访问情况,可视化 Nginx 性能。


性能指标

Cloud Insight 采集 Nginx 以下性能指标:

指标 单位 具体含义
nginx.connections.accepted connections 接受的客户端连接的总数
nginx.connections.active connections 当前客户端连接数
nginx.connections.dropped connections 删除的客户端连接的总数
nginx.connections.idle connections 当前空闲客户端连接数
nginx.generation 配置(configuration)重新加载的总数
nginx.load_timestamp milliseconds 上次重新加载配置(configuration)的时间(自 Epoch 以来的时间)
nginx.net.conn_dropped_per_s connections/second 连接丢失率
nginx.net.conn_opened_per_s connections/second 打开连接的速率
nginx.net.connections connections 活动连接的总数
nginx.net.reading connections 读取客户端请求的连接数
nginx.net.request_per_s requests/second 请求的处理速率
nginx.net.waiting connections 等待工作的 keep-alive 连接的数量
nginx.net.writing connections 等待上行(upstream)响应 和/或 将响应写回客户端的连接数
nginx.pid 处理状态请求的工作进程的 ID
nginx.processes.respawned processes 异常终止并重新生成的子进程的总数
nginx.requests.current requests 当前客户端请求数
nginx.requests.total requests 客户端请求的总数
nginx.server_zone.discarded requests 未发送响应而完成的请求总数
nginx.server_zone.processing requests 当前正在处理的客户端请求数
nginx.server_zone.received bytes 从客户端接收的数据总量
nginx.server_zone.requests requests 从客户端接收的客户端请求的总数
nginx.server_zone.responses.1xx responses 具有 1xx 状态码的响应数
nginx.server_zone.responses.2xx responses 具有 2xx 状态码的响应数
nginx.server_zone.responses.3xx responses 具有 3xx 状态码的响应数
nginx.server_zone.responses.4xx responses 具有 4xx 状态码的响应数
nginx.server_zone.responses.5xx responses 具有 5xx 状态码的响应数
nginx.server_zone.responses.total responses 发送到客户端的响应总数
nginx.server_zone.sent bytes 发送到客户端的数据总量
nginx.ssl.handshakes 成功的 SSL 握手总数
nginx.ssl.handshakes_failed 失败的 SSL 握手总数
nginx.ssl.session_reuses SSL 握手期间的会话重用总数
nginx.timestamp milliseconds 自 Epoch 以来的时间
nginx.upstream.keepalive connections 当前空闲的 keepalive 连接数
nginx.upstream.peers.active connections 当前活动连接数
nginx.upstream.peers.backup 指示服务器是否为备份服务器的布尔值
nginx.upstream.peers.downstart milliseconds 服务器变成 “unavail” 或 “unhealthy” 的时间(自Epoch开始)
nginx.upstream.peers.downtime milliseconds 服务器处于 “unavail” 或 “unhealthy” 状态的总时间
nginx.upstream.peers.fails 与服务器通信失败的总次数
nginx.upstream.peers.health_checks.checks health check 请求总数
nginx.upstream.peers.health_checks.fails health check 的失败数
nginx.upstream.peers.health_checks.last_passed 布尔值,指示上次运行状况检查请求是否成功并通过了测试
nginx.upstream.peers.health_checks.unhealthy 服务器变得不健康 (state “unhealthy”) 的次数
nginx.upstream.peers.id 服务器的 ID
nginx.upstream.peers.received bytes 从此服务器接收的总数据量
nginx.upstream.peers.requests requests 转发到此服务器的客户端请求总数
nginx.upstream.peers.responses.1xx responses 具有 1xx 状态码的响应数
nginx.upstream.peers.responses.2xx responses 具有 2xx 状态码的响应数
nginx.upstream.peers.responses.3xx responses 具有 3xx 状态码的响应数
nginx.upstream.peers.responses.4xx responses 具有 4xx 状态码的响应数
nginx.upstream.peers.responses.5xx responses 具有 5xx 状态码的响应数
nginx.upstream.peers.responses.total responses 从此服务器获取的响应总数
nginx.upstream.peers.selected milliseconds 上次选择服务器以处理请求(1.7.5)的时间(自Epoch开始)
nginx.upstream.peers.sent bytes 发送到此服务器的数据总量
nginx.upstream.peers.unavail 由于失败尝试次数达到 max_fails 阈值,服务器对客户端请求不可用 (state “unavail”) 的次数
nginx.upstream.peers.weight Weight of the server
nginx.version nginx 的版本

配置 Nginx 监控

确保 http_stub_status_module 已安装

确保 http_stub_status_module 已安装在 Nginx 服务器上,这个模块提供访问状态信息的权限。具体安装操作,查看 Nginx 官方文档

配置示例,修改 NGINX 的配置文件 /etc/nginx/site-available/default,进入以下位置进行配置(根据自己环境进行配置):

server {
    location  /nginx_status {
    stub_status on;
    }   
}

这时你可以在浏览器中访问 URL http://localhost/nginx_status 来查看状态信息。

编辑配置文件

编辑配置文件 conf.d/nginx.yaml,使 Cloud Insight Agent 可以与 Nginx 通信。

init_config:

instances:
  # For every instance, you have an `nginx_status_url` and (optionally)
  # a list of tags.

  - nginx_status_url: http://localhost/nginx_status
    tags:
      - tag_key:tag_value

  - nginx_status_url: http://example2.com:1234/nginx_status/
    tags:
      - tag_key:tag_value

重启 Agent

重启 Cloud Insight Agent,使配置生效。

您也可以通过查看 Agent Info 信息,来验证配置是否成功。当出现以下信息,则代表安装成功'。

若 Agent Info 指令执行不成功,尝试在 root 权限下执行该指令。

Checks
======

[...]

nginx
-----
  - instance #0 [OK]
  - Collected 8 metrics & 0 events

有关 Agent Info 信息的查看,请访问帮助中心,查看 Cloud Insight Agent 常用操作


5分钟,开启你的跨云监控之旅 (`⌄´ )


常见问题