您的位置:首页 > 运维架构 > Nginx

nginx监控之 监控我所需要的

2019-01-24 16:06 543 查看

apache和nginx对比

相比 Apache 服务器,Nginx 因其采用的异步非阻塞工作模型,使其具备高并发、低资源消耗的特性,高度模块化设计使 Nginx 具备很好的扩展性;在处理静态文件、反向代理请求等方面,Nginx 表现出很大的优势。

常见的nginx用途

Nginx 可以作为反向代理服务器来转发用户请求;并能够在处理请求的过程中实现后端实例负载均衡,实现分发请求的功能;也可将 Nginx 配置为本地静态服务器,处理静态请求。

监控nginx需要的指标

Nginx 处理请求的过程被详细地记录在 access.log 以及 error.log 文件中

监控项目 所属性质 指标
请求时长 服务性质 从发出请求到结束需要的时间$request_time 和 $upstream_response_time
服务存活性 服务性质 nginx是否存活
请求返回错误 服务性质 服务器日志方式错误码4xx和5xx
流量 服务性质 pv 和 流量
服务损耗 服务性质 连接数 打开文件数 cpu使用率和绑定cpu核心的使用率

请求时长

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$request_time"  "$upstream_response_time" ';
添加上"$request_time" 和"$upstream_response_time"
这样在后面显示请求体和时间,根据自己请求的时长容忍度来实现程序层面的请求接口优化或者缓存

nginx是否存活

检查nginx访问 是否返回值和自己的理想的数据返回是否一致 或者状态码是否一致

请求返回错误

必须添加对诸如 500/502/504 等 5xx 服务类错误状态码的监控,它们告诉我们服务本身出现了问题。
5xx 类错误每分钟出现的频率应该在个位数,太多的 5xx 应及时排查问题并解决;4xx 类错误,在协助解决一些非预期的权限错误、资源丢失或性能等问题上可以给予帮助。
例如:
connection refused 用户请求超时 用户请求超时
connection timed out nginx与后端服务器连接超时
while connection upstream nginx与后端服务器连接出现问题

流量

可以适当的监控网络接口的流量

服务损耗

location /nginx-status {
stub_status on;
access_log  off;
allow      10.1.1.1/24;
deny        all;
}
文件打开数:lsof |grep nginx|wc -l
cpu损耗: 监控cpu的使用率即可
active connection 当前正在处理的活跃连接数
reading 正在读取的客户连接数
writing 处理响应数据到客户端的数量
waiting Nginx等待下次请求的驻留的客户连接数

第1列:
当前与http建立的连接数,包括等待的客户端连接:   20
第2列:
接受的客户端连接总数目:20
处理的客户端连接总数目:20
客户端总的请求数目:50
第3列:
当前,nginx读请求连接
当前,nginx写响应返回给客户端
目前有多少空闲客户端请求连接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息