什么是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火眼金睛 - (状态监控 日志分析)相关推荐

  1. php 监控nginx日志文件,Nginx 日志分析及实时监控

    本文档以 Nginx 日志为例,介绍如何使用日志分析服务来分析 Nginx 日志中的各种指标. 许多个人站长选取了 Nginx 作为服务器搭建网站,在对网站访问情况进行分析时,需要对 Nginx 访问 ...

  2. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台 发表于 2015-08-19   |   分类于 Linux/Unix   |   ELK简介 ELKStack即Elasticsearch + Logs ...

  3. python nginx日志分析_Nginx日志分析及脚本编写

    在我们日常的运维中,当Nginx服务器正常运行后,我们会经常密切关注Nginx访问日志的相关情况,发现有异常的日志信息需要进行及时处理. 那今天我将跟大家一起来研究和分析Nginx日志,nginx默认 ...

  4. Kubernetes Ingress 日志分析与监控的最佳实践

    2019独角兽企业重金招聘Python工程师标准>>> 前言 目前Kubernetes(K8s)已经真正地占领了容器编排市场,是默认的云无关计算抽象,越来越多的企业开始将服务构建在K ...

  5. 使用elk+redis搭建nginx日志分析平台(引)

    http://www.cnblogs.com/yjf512/p/4199105.html elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎 ...

  6. 课时 12:可观测性-监控与日志(莫源)

    本文主要分为四个部分: 在 K8s 中监控和日志的背景信息: 在 K8s 中监控方案的演进,以及常见的监控方案的提供: 日志采集的一些细节以及常见的日志的开源系统: 课程总结,介绍一下阿里云容器服务上 ...

  7. 《Unix/Linux网络日志分析与流量监控》2014年11月底出版

    2014年11月 <Unix/Linux网络日志分析与流量监控>重磅新书出版 近日,历时3年创作的75万字书稿已完成,本书目前正在出版社清样阶段即将出版发行.本书紧紧围绕网络安全的主题,对 ...

  8. GoAccess日志分析工具,适用于Nginx/Apache/IIS 等

    最近了解到一款Nginx日志分析工具GoAccess ,这里记录一下. 1 介绍 GoAccess 是一款开源(MIT许可证)的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器 ...

  9. 《Unix/Linux日志分析与流量监控》书稿完成

    <Unix/Linux日志分析与流量监控>书稿完成 近日,历时3年创作的75万字书稿已完成,本书紧紧围绕网络安全的主题,对各种Unix/Linux系统及网络服务日志进行了全面系统的讲解,从 ...

最新文章

  1. python自学免费课堂-推荐5个Python爬虫免费学习资源(B站高赞!)
  2. java8 stream遍历_Java8新特性:Stream流详解
  3. access开发精要(5)-合计group by
  4. 未来:万物皆互联、全民皆社交,人人都是马化腾
  5. php重量,在PHP中按重量生成随机结果?
  6. php100 linux,PHP100精华:很靠谱linux经常使用命令
  7. (75)Verilog HDL系统函数和任务:$readmemh
  8. “评论王争夺赛”活动,第4期开始啦!
  9. apktook 反编译错误
  10. 增值税发票税控开票软件V2.0.48_ZS_20220429(220518)-3
  11. Android木马病毒com.schemedroid的分析报告
  12. 2021亚太杯数学建模C题全网成品论文+代码+详细思路+数据+参考文献
  13. ERP生产线管理系统 with WAMP
  14. 文本检测算法:CRAFT(CVPR2019)
  15. 新零售mysql设计(采购表 入库信息表 入库商品表)
  16. 方差分析 球形检验_spss球形检验.PDF
  17. Java3D加载obj文件+mtl文件
  18. ARM 通用寄存器说明
  19. JS的onBlur事件与onfocus事件
  20. 【成神之路】Http网络相关面试题

热门文章

  1. 双目视觉(一)双目视觉系统
  2. 使用VS2013做简单的C程序解析
  3. img图片没找到onerror事件 Stack overflow at line: 0
  4. 大公司 Or 小公司?
  5. 祝你生日快乐 用计算机,祝自己生日快乐的短语 适合自己生日发的说说大全
  6. Linux---死锁
  7. 信息学奥赛一本通|1338:【例3-3】医院设置
  8. UE4-(蓝图)实现昼夜交替
  9. mysql spool_用MySQL实现类似Oracle SPOOL的功能
  10. MySQL 教程(基础篇)第04话:mysqld 和 mysql 命令的区别