首页 > 学院 > 操作系统 > 正文

读书笔记-在线日志分析的常用命令

2024-06-28 13:20:52
字体:
来源:转载
供稿:网友
读书笔记-在线日志分析的常用命令

摘自《大型分布式网站架构设计与实践》 4.1在线日志分析

1.基础命令

操作命令说明
查看文件的内容cat-naccess.log-n显示行号
分页显示文件moreaccess.logEnter下一行,空格下一页,F下一屏,B上一屏
分页显示文件lessaccess.log输入/字符串可查找并高亮
显示文件尾tail-n2-faccess.log-n2显示最后2行,-f继续监听不退出
内容排序sort-k2-t''-naccess.log-k指定排序列,-t指定列分隔符,-n按数字顺序
字符统计wc-laccess.log-l统计行数,-c字符数,-L最长行长度,-w单词数
查看重复出现的行sorttestfile|uniq-c-duniq去重,-c统计重复次数,-d只显示重复的
字符串查找grep'G.*T'access.log查找G开头T结尾的字符串
文件查找find/home/java-nameaccess.log递归/home/java的子目录找名为access.log
表达式求值exPR10/*3计算10*3,其中/*表示转义*不解读为通配符
表达式求值exprlength"thisisatest"计算长度
归档文件tar-cfaaa.tarf1f2-c创建,-f指定包名
归档文件tar-xfaaa.tar-x解压
URL访问curlwww.google.com不带参返回响应体,-i返回带响应头,-I仅返回响应头
查看CPU的loaduptime
查看CPU使用率top|grepCpu按1查看每个核,按shift+H按线程查看
查看CPU使用率top-p2864查看指定进程
磁盘剩余空间df-h
磁盘剩余空间du-d1-h/home/java分析目录的磁盘使用。-d设置递归深度
网络trafficsar-nDEV11DEV查看各个网卡,1秒抽样,1总共取一次
磁盘I/Oiostat-d-k
内存使用free-m通常是看“-/+buffers/cache”对应的used和free
内存使用vmstat查看swapI/O

2.sed编辑器

操作命令说明
文本替换sed's/xxx/yahoo/'access.log|head-10不会修改原文件
输出指定的行sed-n'2,6p'access.log输出2-6行
删除行sed'/QQ/d'access.log/d排除含关键字qq的行
整行替换sed-e'/google/c/hello'access.log|head-10/c替换的是整个匹配的行
多个命令合并sed-n'1,5p;1,5='access.log边打印行边打印行号

3.awk程序

操作命令
筛选行,打印指定列awk'/google/{print$0,$6}'access.log|head-10
按条件打印awk'length($0)>40{print$3}'access.log|head-10
格式化输出awk'{line=sprintf("method:%s,response:%s",$3,$7);printline}'access.log|head-10

4.实用例子

操作命令说明
查看请求访问量
访问量前10的ipcataccess.log|cut-f1-d""|sort|uniq-c|sort-k1-n-r|head-10cut部分表示取第1列即IP列,取第4列则为URL的访问量
查看最耗时的页面cataccess.log|sort-k2-n-r|head-10按第2列响应时间逆序排序
统计404请求的占比
总请求数exporttotal_line=`wc-laccess.log|cut-f1-d""`
404请求数exportnot_found_line=`awk'$6=='404'{print$6}'access.log|wc-l`
占比expr$not_found_line/*100/$total_line&&或;可合并为一行。

上一篇:Tmux

下一篇:shell命令:echo命令详解

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表