nginx常用统计总结

博客介绍了PV(页面浏览量)、UV(独立访客)、IP(独立IP)的概念,还列举了一系列Nginx命令,包括根据访问IP统计UV、统计访问URL的PV、查询频繁访问的URL和IP、按时间段统计日志、查看并发连接数等,可用于网站访问数据的统计分析。

nginx常用统计总结

简介

  • PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。
  • UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。
  • IP(独立IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址之被计算一次。

命令

  1. 根据访问IP统计UV
awk '{print $1}'  access.log|sort | uniq -c |wc -l
  1. 统计访问URL统计PV
awk '{print $7}' access.log|wc -l
  1. 查询访问最频繁的URL
awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more
  1. 查询访问最频繁的IP
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more
  1. 根据时间段统计查看日志
(1)cat  access.log| sed -n '/14\/Mar\/2015:21/,/14\/Mar\/2015:22/p'|more

(2)grep '日期时间'  access.log | wc -l        统计某段时间的访问量
  1. 统计IP访问个数(和根据访问IP统计UV一样)
cat access.log | awk '{ips[$1]+=1} END{for(ip in ips) print ips[ip],ip}' | sort -nr | wc -l
  1. 查看3点-6点之间的Ip访问个数
grep "2016:0[3-6]" access.log | awk '{ips[$1]+=1} END{for(ip in ips) print ips[ip],ip}' | sort –nr | wc -l
  1. 查看3点-6点之间的ip访问数,并且访问数>=200的ip.
grep '2016:0[3-12]' access.log | awk '{ips[$1]+=1}END{for(ip in ips) if(ips[ip]>=200) print ips[ip],ip}' | sort -nr
  1. 查看并发连接数
netstat -nat|grep ESTABLISHED|wc -l

10.获取每分钟的请求数量,输出成csv文件

cat /usr/local/nginx/logs/access.log  | awk '{print substr($4,14,5)}' | uniq -c | awk '{print $2","$1}' > access.csv

11.获取最耗时的请求时间、url、耗时,前10名, 可以修改后面的数字获取更多,不加则获取全部。

cat /usr/local/nginx/logs/access.log | awk '{print $4,$7,$NF}' | awk -F '"' '{print $1,$2,$3}' | sort -k3 -rn | head -10
<think>我们总结Ansible常用模块的用法,注意模块名称和核心参数 需要覆盖:文件操作、软件包管理、服务管理、命令执行等核心类别 每个模块给出简要说明和1-2个典型示例(代码块用```标注) 最后按要求提出相关问题 </think>### Ansible 常用模块用法总结 Ansible 模块是实现自动化任务的核心单元,以下按功能分类总结关键模块的用法(基于 Ansible 7.x): --- #### **1. 文件操作类** - **`copy` 模块** 复制本地文件到目标主机 ```yaml - name: 复制配置文件 copy: src: /local/nginx.conf # 本地路径 dest: /etc/nginx/ # 目标路径 owner: root # 属主 group: www-data # 属组 mode: '0644' # 权限 ``` - **`file` 模块** 管理文件/目录属性 ```yaml - name: 创建日志目录 file: path: /var/log/app state: directory # 状态:directory/link/absent recurse: yes # 递归修改权限 ``` --- #### **2. 软件包管理** - **`apt`/`yum` 模块** 管理 Debian/RHEL 系软件包 ```yaml - name: 安装最新版 Node.js apt: name: nodejs state: latest # 最新版 update_cache: yes # 更新缓存 ``` - **`pip` 模块** 管理 Python 依赖 ```yaml - name: 安装 Django 库 pip: name: django version: "4.2" # 指定版本 virtualenv: /opt/venv # 虚拟环境路径 ``` --- #### **3. 服务管理** - **`service` 模块** 控制系统服务 ```yaml - name: 重启 Nginx 并设置开机启动 service: name: nginx state: restarted # 状态:started/stopped/reloaded enabled: yes # 开机自启 ``` --- #### **4. 命令执行** - **`command`/`shell` 模块** 执行系统命令(`shell` 支持管道符) ```yaml - name: 检查磁盘空间 command: df -h # 直接执行命令 - name: 统计日志错误 shell: "grep 'ERROR' /var/log/syslog | wc -l" ``` - **`script` 模块** 执行本地脚本 ```yaml - name: 运行部署脚本 script: /scripts/deploy.sh args: chdir: /tmp # 指定工作目录 creates: /tmp/lock # 存在锁文件则跳过 ``` --- #### **5. 配置模板** - **`template` 模块** 基于 Jinja2 生成动态配置 ```yaml - name: 生成 Nginx 配置 template: src: templates/nginx.j2 # Jinja2 模板 dest: /etc/nginx/sites-available/app.conf vars: server_port: 8080 # 传入变量 ``` --- #### **6. 用户管理** - **`user` 模块** 管理系统用户 ```yaml - name: 创建应用账户 user: name: appuser group: developers shell: /bin/bash generate_ssh_key: yes # 自动生成 SSH 密钥 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值