博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记-在线日志分析的常用命令
阅读量:6189 次
发布时间:2019-06-21

本文共 1939 字,大约阅读时间需要 6 分钟。

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

1.基础命令

操作 命令 说明
查看文件的内容 cat -n access.log -n显示行号
分页显示文件 more access.log Enter下一行,空格下一页,F下一屏,B上一屏
分页显示文件 less access.log 输入 /字符串 可查找并高亮
显示文件尾 tail -n2 -f access.log -n2显示最后2行,-f继续监听不退出
内容排序 sort -k 2 -t ' ' -n access.log -k指定排序列,-t指定列分隔符,-n按数字顺序
字符统计 wc -l access.log -l统计行数,-c字符数,-L最长行长度,-w单词数
查看重复出现的行 sort testfile | uniq -c -d uniq去重,-c统计重复次数,-d只显示重复的
字符串查找 grep 'G.*T' access.log 查找G开头T结尾的字符串
文件查找 find /home/java -name access.log 递归/home/java的子目录找名为access.log
表达式求值 expr 10 \* 3 计算10*3,其中\*表示转义*不解读为通配符
表达式求值 expr length "this is a test" 计算长度
归档文件 tar -cf aaa.tar f1 f2 -c创建,-f指定包名
归档文件 tar -xf aaa.tar -x解压
URL访问 curl www.google.com 不带参返回响应体,-i返回带响应头,-I仅返回响应头
查看CPU的load uptime  
查看CPU使用率 top | grep Cpu 按1查看每个核,按shift+H按线程查看
查看CPU使用率 top -p 2864 查看指定进程
磁盘剩余空间 df -h  
磁盘剩余空间 du -d 1 -h /home/java 分析目录的磁盘使用。-d设置递归深度
网络traffic sar -n DEV 1 1 DEV查看各个网卡,1秒抽样,1总共取一次
磁盘I/O iostat -d -k  
内存使用 free -m 通常是看“-/+ buffers/cache”对应的used和free
内存使用 vmstat 查看swap I/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); print line}' access.log | head -10

 

4.实用例子

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

转载于:https://www.cnblogs.com/syjkfind/p/4455855.html

你可能感兴趣的文章
43. Multiply Strings字符串相乘
查看>>
JavaScript数据类型
查看>>
UGUI组件之 Anchors 锚点定位(九宫定位 and 弹性定位)简单笔记
查看>>
监控HTTP(1)
查看>>
JavaScript函数继承与伪类继承
查看>>
NGUI的输入框制作(attach- input filed script的使用)
查看>>
回溯法——批处理作业调度
查看>>
【阿里面试题】Java中的类及方法的加载顺序
查看>>
Eclipse “cannot be resolved to a type” error
查看>>
笔试题
查看>>
【java集合框架源码剖析系列】java源码剖析之TreeMap
查看>>
【POI】对于POI无法处理超大xls等文件,官方解决方法【已解决】【多线程提升速率待定】...
查看>>
定义函数指针
查看>>
bcg库使用心得两则
查看>>
Android菜鸟的成长笔记(15)—— Android中的状态保存探究(下)
查看>>
从《谍中谍4》看知识经济时代团队的特点
查看>>
在稳定性测试中,将测试结果持续填加进入html报告
查看>>
python pytest测试框架介绍二
查看>>
如何往jumpserver上添加服务器
查看>>
Android dialog 问题
查看>>