nginx日志分析常用指令
2018-02-26 14:37
399 查看
无聊折腾自己的阿里云服务器,顺便学一波日志分析。
首先理清几个概念:
PV(page view),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。
一般情况日志的结构如下:
remote_addr : 客户端地址
remote_user : 客户端用户名
time_local : 服务器时间
request : 请求内容,包括方法名,地址,和http协议
http_host : 用户请求是使用的http地址
status : 返回的http 状态码
request_length : 请求大小
body_bytes_sent : 返回的大小
http_referer : 来源页
http_user_agent : 客户端名称
request_time : 整体请求延时
wwwlogs下面有access.log和error.log 前者代表访问你服务器的ip和相应的内容,结构大概如下:
获取pv数的指令比较简单:cat /usr/local/nginx/logs/access.log | wc -l
正常情况下,比如说只想查看访问的所有ip地址 那就只需查看第一行即可:cat access.log|awk '{print $1}'如果要查看ip数量的话,则:cat /usr/local/nginx/logs/access.log | awk '{print $1}' |sort| uniq | wc -l当然 往往我们是需要根据访问量来进行数据分析的,那么可以这么操作:cat access.log |awk '{print $1}'|sort|uniq -c|sort -rn|more按照访问次数来从大到小排序访问ip 结果如下:
如果想查看访问的状态码的话,那也就只需把print 1$改成print 9$ 因为状态码所处的列数是9 结果如下:
对于获取某一时刻的访问量:cat /usr/local/class/logs/access.log | grep date | wc -l获取的数据也可以导出 比如上面的指令可以通过cat /usr/local/class/logs/access.log | grep 2017:13:28:55 | wc -l > access.csv导出为csv文件
其实用来用去也就是那么几个命令: cat:输入文件内容 grep:过滤文本 'sort':排序 'uniq':去重 'awk':文本处理当然,复杂的网站管理肯定远不止这些,不过我这种自己用的没什么访问的小服务器。。这些也就勉强够用了。。。
首先理清几个概念:
PV(page view),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。
uv(unique visitor),指访问某个站点或点击某条新闻的不同IP地址的人数。我的阿里云上安装了centos系统,查看nginx日志的目录是 /home/wwwlogs/ 配置文件是nginx.conf
一般情况日志的结构如下:
log_format main '$remote_addr - $remote_user [$time_local] "$request" $http_host ' '$status $request_length $body_bytes_sent "$http_referer" ' '"$http_user_agent" $request_time';
remote_addr : 客户端地址
remote_user : 客户端用户名
time_local : 服务器时间
request : 请求内容,包括方法名,地址,和http协议
http_host : 用户请求是使用的http地址
status : 返回的http 状态码
request_length : 请求大小
body_bytes_sent : 返回的大小
http_referer : 来源页
http_user_agent : 客户端名称
request_time : 整体请求延时
wwwlogs下面有access.log和error.log 前者代表访问你服务器的ip和相应的内容,结构大概如下:
获取pv数的指令比较简单:cat /usr/local/nginx/logs/access.log | wc -l
正常情况下,比如说只想查看访问的所有ip地址 那就只需查看第一行即可:cat access.log|awk '{print $1}'如果要查看ip数量的话,则:cat /usr/local/nginx/logs/access.log | awk '{print $1}' |sort| uniq | wc -l当然 往往我们是需要根据访问量来进行数据分析的,那么可以这么操作:cat access.log |awk '{print $1}'|sort|uniq -c|sort -rn|more按照访问次数来从大到小排序访问ip 结果如下:
如果想查看访问的状态码的话,那也就只需把print 1$改成print 9$ 因为状态码所处的列数是9 结果如下:
对于获取某一时刻的访问量:cat /usr/local/class/logs/access.log | grep date | wc -l获取的数据也可以导出 比如上面的指令可以通过cat /usr/local/class/logs/access.log | grep 2017:13:28:55 | wc -l > access.csv导出为csv文件
其实用来用去也就是那么几个命令: cat:输入文件内容 grep:过滤文本 'sort':排序 'uniq':去重 'awk':文本处理当然,复杂的网站管理肯定远不止这些,不过我这种自己用的没什么访问的小服务器。。这些也就勉强够用了。。。
相关文章推荐
- Nginx日志统计分析的常用命令总结
- 日志分析常用指令简单介绍
- Nginx日志常用分析命令汇总
- Nginx日志常用分析命令汇总
- Nginx Access Log日志统计分析常用命令
- nginx常用命令管理及升级 | 日志分析 | 脚本编写
- Nginx日志常用分析命令汇总 推荐
- Nginx日志常用分析命令汇总
- awk 分析nginx日志常用命令
- Awk,Cat,Head分析Nginx日志常用命令
- Nginx日志常用分析命令汇总 (转)
- Nginx Access Log日志统计分析常用命令
- awstats和jawstats对apache、nginx进行多站点日志分析
- goaccess nginx 日志分析
- Nginx常用日志分割方法
- python分析nginx日志的ip(上篇)
- linux系统centOS6.5使用goaccess工具分析nginx网站日志
- [转]用 awstats分析 Nginx 日志的一些记录
- 日志分析常用命令
- 高性能Web服务器Nginx的配置与部署研究(6)核心模块之主模块的测试常用指令