nginx监控之 监控我所需要的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx监控之 监控我所需要的相关的知识,希望对你有一定的参考价值。

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写响应返回给客户端
 目前有多少空闲客户端请求连接

以上是关于nginx监控之 监控我所需要的的主要内容,如果未能解决你的问题,请参考以下文章

Web架构之Nginx状态监控

zabbix监控之nginx状态监控

Zabbix监控之Nginx的状态监控

Nginx系列之5:监控

Nginx系列之5:监控

Zabbix中小型企业Zabbix监控实战之告警大全