从Nginx的Access log分析系统的健康度
2016-02-22 11:34
721 查看
公司很多系统都可以在运维管理平台里面查看应用的健康度,所谓健康度就是某个接口在某段时间内的响应时间、访问次数、响应状态码情况,比如说A接口在2016-2-22这天,访问次数为6000次,平均响应时间800ms,200的状态码有5800次,404的状态码有20次,500的状态码有20次,从这些数据里面可以看出A接口在这天里面的健康度情况,一般每天上班前都会来运维系统里面看看自己负责的应用里面的接口在前一天或者前一段时间内的使用情况
之前一直不知道这些健康度信息怎么分析出来的,今天刚好了解到,这些健康度的数据分析来自,应用的Nginx服务器里面access.log日志,access.log主要是记录每个经过nginx服务器的请求的信息,在nginx.conf里面主要这样子配置的:
上面第一行主要是配置access.log的路径,第二行开始主要配置每一条日志信息的格式,其中typnormal是日志格式名称,typnormal后面的配置主要是每条请求日志的信息
access.log里面生成的日志格式这样:
之前一直不知道这些健康度信息怎么分析出来的,今天刚好了解到,这些健康度的数据分析来自,应用的Nginx服务器里面access.log日志,access.log主要是记录每个经过nginx服务器的请求的信息,在nginx.conf里面主要这样子配置的:
access_log logs/access.log tpynormal; log_format tpynormal '$remote_addr | [$time_local] | $host | "$request" | ' '$status | $body_bytes_sent | "$http_referer" | ' '"$http_user_agent" | "$http_x_forwarded_for" | ' '$upstream_addr | $upstream_status | $upstream_response_time | ' '$server_addr | $request_time ';
上面第一行主要是配置access.log的路径,第二行开始主要配置每一条日志信息的格式,其中typnormal是日志格式名称,typnormal后面的配置主要是每条请求日志的信息
log_format tpynormal $remote_addr | #远程客户端用户名(IP) [$time_local] |#记录访问时间与时区 $host | #访问主机名 "$request" | #请求名称 $status |#用户记录请求状态 $body_bytes_sent | #用于记录发送给客户端主体内容大小 "$http_referer" | #用于记录是从哪个链接页面过来的 "$http_user_agent" #用于记录客户端浏览器信息 "$http_x_forwarded_for" | #HTTP的请求端真实的IP '$upstream_addr |#处理请求upstream服务器地址 $upstream_status |#处理请求upstream应答状态 $upstream_response_time | '#经过upstream配置服务器请求的响应时间 '$server_addr |#应用服务器地址 $request_time '#请求响应时间
access.log里面生成的日志格式这样:
192.168.11.11 | [22/Feb/2016:09:58:03 +0800] | www.test.com | "GET /test/interface HTTP/1.1" | 200 | 978 | "http://www.test.com/test.html" | "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" | "117.168.98.100, 127.0.0.1" | 192.168.243.63:8080 | 200 | 0.021 | 192.168.237.10 | 0.021
相关文章推荐
- nginx限制ip并发数
- 【Linux 优化篇】之 编译安装Nginx+php
- ubuntu 14.04 nginx php
- nginx的权限问题(Permission denied)解决办法
- Nginx----使用压缩传输
- 添加nginx为系统服务(service nginx start/stop/restart)
- nginx的学习
- nginx的log、upstream和server
- nginx的常规配置
- 【Nginx入门系列】第四章 通过域名匹配虚拟主机,不修改端口
- 【Nginx入门系列】第三章 通过端口号区分虚拟主机
- nginx配置学习文章
- ubuntu 12.04 下nginx安装步骤
- NGINX模块
- Nginx转发请求
- 【Nginx入门系列】第二章 外部无法访问Nginx服务器
- 【Nginx入门系列】第一章 手把手带你搭建Nginx服务器
- 安装nginx-rtmp-module和ffmpeg
- RedHat5.7+ice3.4.2+php5.2.17+nginx1.8.1环境配置
- 实现nginx随机直接输出字符