发表于: 2017-09-29 23:42:22
1 707
今天完成的事情:
步骤6..查看Nginx日志,编写脚本统计访问次数,统计响应延时。
然后百度了查看Nginx日志内容.
例如我这个日志. nginx的log日志分为access log 和 error log
其中access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
error log 则是记录服务器错误日志
1.客户端(用户)IP地址。如:上例中的140.205.201.36 (内网负载均衡地址)
2.访问时间。如:上例中的 [29/Sep/2017:10:57:46
3.访问端口。
4.响应时间。
5.请求时间。
6.用户地理位置代码(国家代码)。
7.请求的url地址(目标url地址)的host。如:上例中的 /....
8.请求方式(GET或者POST等)。如:上例中的 GET
9.请求url地址(去除host部分)。如:上例中的 /html/test.html
10.请求状态(状态码,200表示成功,404表示页面不存在,301表示永久重定向等,具体状态码可以在网上找相关文章,不再赘述)。如:上例中的 "404
11.请求页面大小,默认为B(byte)。
12.来源页面,即从哪个页面转到本页,专业名称叫做“referer”。
13.用户浏览器语言。
14. 用户浏览器其他信息,浏览器版本、浏览器类型等。
然后参考了一下师兄的日报中的脚本还是看不懂,然后根据师兄的日报学习了 awk 命令,grep命令, 和正则表达式
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配行打印出来,awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。
看了这些差不多就能看懂脚本了.
明天的计划:
继续任务.如果进度快就把任务结束,不行的话就到请假来.
遇到的问题:
因为Shell语句看的太快,忘得也快..看师兄脚本的时候有些Shell基础的东西也没有看懂,所以今天花一天时间多学一下.
正则表达式真够折磨人的...感觉在学鸟语..需要经常学啊
任务开始时间2017-9-25
任务结束时间2017-10-08
无延期风险
禅道;http://task.ptteng.com/zentao/task-view-10903.html
评论