Nginx之12火眼金睛 - (状态监控 日志分析)
什么是Nginx状态监控
当Nginx在线上运行时,我们想监控Nginx整理的访问及性能情况,但需要用ssh登陆到该主机中进行使用命令进行查看,这种操作无疑是比较繁琐的,但Nginx提供了一个内置的状态信息监控页面可用于监控Nginx的整体访问情况,这个功能由ngx_http_stub_status_module模块进行实现。
如何启用监控模块
使用nginx -V命令检查编译的参数,如果有--with-http_stub_status_module此模块的,就代码已经启用了status功能,如果没有可以在编译时加上此编译的参数。
在 http段中,我们加入server段监听主机为本地及端口为80的配置,并在location段中指定访问的uri为status时匹配到我们配置的nginx status页面。
server {listen 80;server_name localhost;location /status {stub_status on;}
}
查看状态监控信息
#信息详解
active connections:当前的客户端活动连接数(包含正在等待的客户端连接),相当于TCP连接状态处于Established和SYN_ACKserver accepts handled requests:
accepts: 已接受的客户端连接总数,即已被worker进程接收的连接
handled: 已被处理的连接总数
requests: 客户端的http请求总数reading: 当前正在读取的http请求数(读取到http请求首部)
writing:当前准备响应的连接数(写入到http响应首部)
waiting: 当前处于等待的空闲客户端请求数, 等待的时间为Reading和Writing之间的间隔
什么是访问日志
访问日志是记录Nginx接受用户请求及处理过程中一系列的日志记录,可以通过这些日志分析到用户IP、位置、在什么时间访问、使用什么操作系统、使用什么浏览器访问了什么页面等,从进行我们一系列的分析。
首先我们了解一下日志定义格式及日志详解
#日志定义格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
#日志字段详解
$remote_addr: 客户端的ip地址
$remote_user: 用于记录远程客户端的用户名称
$time_local: 用于记录访问时间和时区
$request: 用于记录请求的url以及请求方法
$status: 响应状态码
$body_bytes_sent: 给客户端发送的文件主体内容字节数
$http_referer: 可以记录用户是从哪个链接访问过来的
$http_user_agent: 用户所使用的浏览器信息
$http_x_forwarded_for: 可以记录客户端IP,通过代理服务器来记录客户端的ip地址
如何进行分析
在以上了解了日志中每一个字段的定义,可以根据日志做出一些类似以下的分析:
1.根据访问IP统计UV
cat /usr/local/nginx/logs/access.log |awk '{print $1}' |sort |uniq -c |wc -l
2.统计访问URL统计PV
cat /usr/local/nginx/logs/access.log |awk '{print $7}' |wc -l
3.查询访问最频繁的IP(前10)
cat /usr/local/nginx/logs/access.log |awk '{print $1}' |sort | uniq -c |sort -n -k 1 -r |head -n10
4.查询访问最频繁的URL(前10)
cat /usr/local/nginx/logs/access.log |awk '{print $7}' |sort | uniq -c |sort -n -k 1 -r| head -n10
Nginx之12火眼金睛 - (状态监控 日志分析)相关推荐
- php 监控nginx日志文件,Nginx 日志分析及实时监控
本文档以 Nginx 日志为例,介绍如何使用日志分析服务来分析 Nginx 日志中的各种指标. 许多个人站长选取了 Nginx 作为服务器搭建网站,在对网站访问情况进行分析时,需要对 Nginx 访问 ...
- ELK+redis搭建nginx日志分析平台
ELK+redis搭建nginx日志分析平台 发表于 2015-08-19 | 分类于 Linux/Unix | ELK简介 ELKStack即Elasticsearch + Logs ...
- python nginx日志分析_Nginx日志分析及脚本编写
在我们日常的运维中,当Nginx服务器正常运行后,我们会经常密切关注Nginx访问日志的相关情况,发现有异常的日志信息需要进行及时处理. 那今天我将跟大家一起来研究和分析Nginx日志,nginx默认 ...
- Kubernetes Ingress 日志分析与监控的最佳实践
2019独角兽企业重金招聘Python工程师标准>>> 前言 目前Kubernetes(K8s)已经真正地占领了容器编排市场,是默认的云无关计算抽象,越来越多的企业开始将服务构建在K ...
- 使用elk+redis搭建nginx日志分析平台(引)
http://www.cnblogs.com/yjf512/p/4199105.html elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎 ...
- 课时 12:可观测性-监控与日志(莫源)
本文主要分为四个部分: 在 K8s 中监控和日志的背景信息: 在 K8s 中监控方案的演进,以及常见的监控方案的提供: 日志采集的一些细节以及常见的日志的开源系统: 课程总结,介绍一下阿里云容器服务上 ...
- 《Unix/Linux网络日志分析与流量监控》2014年11月底出版
2014年11月 <Unix/Linux网络日志分析与流量监控>重磅新书出版 近日,历时3年创作的75万字书稿已完成,本书目前正在出版社清样阶段即将出版发行.本书紧紧围绕网络安全的主题,对 ...
- GoAccess日志分析工具,适用于Nginx/Apache/IIS 等
最近了解到一款Nginx日志分析工具GoAccess ,这里记录一下. 1 介绍 GoAccess 是一款开源(MIT许可证)的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器 ...
- 《Unix/Linux日志分析与流量监控》书稿完成
<Unix/Linux日志分析与流量监控>书稿完成 近日,历时3年创作的75万字书稿已完成,本书紧紧围绕网络安全的主题,对各种Unix/Linux系统及网络服务日志进行了全面系统的讲解,从 ...
最新文章
- python自学免费课堂-推荐5个Python爬虫免费学习资源(B站高赞!)
- java8 stream遍历_Java8新特性:Stream流详解
- access开发精要(5)-合计group by
- 未来:万物皆互联、全民皆社交,人人都是马化腾
- php重量,在PHP中按重量生成随机结果?
- php100 linux,PHP100精华:很靠谱linux经常使用命令
- (75)Verilog HDL系统函数和任务:$readmemh
- “评论王争夺赛”活动,第4期开始啦!
- apktook 反编译错误
- 增值税发票税控开票软件V2.0.48_ZS_20220429(220518)-3
- Android木马病毒com.schemedroid的分析报告
- 2021亚太杯数学建模C题全网成品论文+代码+详细思路+数据+参考文献
- ERP生产线管理系统 with WAMP
- 文本检测算法:CRAFT(CVPR2019)
- 新零售mysql设计(采购表 入库信息表 入库商品表)
- 方差分析 球形检验_spss球形检验.PDF
- Java3D加载obj文件+mtl文件
- ARM 通用寄存器说明
- JS的onBlur事件与onfocus事件
- 【成神之路】Http网络相关面试题