>>基础命令

操作

命令

说明

查看文件的内容

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

>>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

边打印行边打印行号

>>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

>>典型的日志分析场景

(1)统计一个文本中包含字符个数

cat access.log |grep /2012/ |wc -l
cat access.log |grep "/message/publishmsg/\|/message/publish/" >test1.log

(2)查看当天访问排行前10的url
cat access.log | grep “10/Dec/2010″ | awk ‘{print $7}’ | sort | uniq -c | sort -nr | head -n 10

(3)查看apache的进程数

ps -aux | grep httpd | wc -l

(4)访问量前10的IP

cat access.log | cut -f1 -d " " | sort | uniq -c |sort -k 1 -n -r | head -10
cut部分表示取第1列即IP列,取第4列则为URL的访问量

(5)查看最耗时的页面

cat access.log | sort -k 2 -n -r | head -10
按第2列响应时间逆序排序

(6)统计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 &&或;可合并为一行。

(7)使用grep查找文件中指定字符出现的次数

grep -o '目标' test.txt | wc -l
-o 指示grep显示所有匹配的地方,并且每一个匹配单独一行输出。这样只要统计输出的行数就可以知道这个字符出现的次数了。

Linux常用的日志分析命令与工具的更多相关文章

  1. linux下常用的日志分析命令

    linux下常用的日志分析命令   本文介绍下,在linux中常用的一些分析日志的命令行或脚本,有需要的朋友参考下.     形如下面这样的access.log日志内容: 211.123.23.133 ...

  2. linux常用的日志分析脚本

    linux实用的日志分析脚本 日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 /Dec/::: +] “GET /query/trendxml/district/tod ...

  3. linux下常用的日志分析命令【转】

    形如下面这样的access.log日志内容: 211.123.23.133 – - [10/Dec/2010:09:31:17 +0800] “GET /query/trendxml/district ...

  4. Linux性能查看与分析--命令行工具介绍

    本文介绍工作中常用的几个linux性能查看命令:top,sar,vmstat,iostat,pidstat等. 1.top top是最常用的linux性能分析工具,它能够实时的显示系统中各个进程的资源 ...

  5. linux系统web日志分析脚本

    linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照 ...

  6. nginx常用运维日志分析命令

    nginx常用日志分析命令 运维人员必备 常用日志分析命令 1.总请求数 wc -l access.log |awk '{print $1}' 2.独立IP数 awk '{print $1}' acc ...

  7. 监控Linux性能的18个命令行工具

    监控 Linux 性能的 18 个命令行工具 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保 ...

  8. Linux文件系统与日志分析

    Linux文件系统与日志分析一.inode与block概述① 文件数据包括元信息(类似文件属性)与实际数据② 文件存储在硬盘上,硬盘最小存储单位是"扇区"(sector),每个扇区 ...

  9. Linux文件系统与日志分析的了解

    Linux文件系统与日志分析 1.inode和block概述 2.模拟inode耗尽实验 3.ext类型文件恢复 4.xfs类型文件恢复 5.日志文件 6.日志分析 1.文件:文件是存储在硬盘上的,硬 ...

随机推荐

  1. Delphi中Interface接口的使用方法

    示例注释(现在应该知道的): {   1.接口命名约定 I 起头, 就像类从 T 打头一样.   2.接口都是从 IInterface 继承而来; 若是从根接口继承, 可省略.   3.接口成员只能是 ...

  2. 2 DelayInterval延时间隔类——Live555源码阅读(一)基本组件类

    这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 这里是时间相关类的第二个部分. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnb ...

  3. 装b指南

    提溜一个糖水黄桃罐头瓶,放在桌边,坐下以后,脖子略微后仰,翘着二郎腿,低头盯着屏幕看需求. 最好点一根烟,牌子无所谓,能冒烟就行.要得就是云山雾绕的感觉,从烟雾中眯着眼睛看出去,一副胸有成竹的样. 一 ...

  4. 数据库视图 (View)和EntityFramework Code First结合使用

    问题来源: 项目需要进行查询操作,会涉及多表间的联合查询,使用Entity Framework会牵涉到效率问题,为增加查询速度,所以使用数据库视图技术,综合来讲是将Model类映射到数据库View. ...

  5. POJ 2676

    http://poj.org/problem?id=2676 深搜的题目. 题意呢就是一个数独的游戏,应该都知道规则. 思路:我的思路很简单,就是用数组来判断某个数字是否可以使用,而每一个数字都由三个 ...

  6. PHP无法编译undefined reference to `libiconv_open

    ./configure --prefix=/usr/local/php52 make时提示:.....................................................e ...

  7. Delphi cxGrid –--> RecordIndex out of Range

    delphi 导出数据时常常出现这样一个错误 < RecordIndex out of Range > 处理办法: 设定 cxGridDBTableView 的 GridModeBuffe ...

  8. 23. javacript高级程序设计-数据存储

    1. 数据存储 1.1 cookie HTTP Cookie, cookie,最初用来在客户端存储回话信息. (1). 限制,不同浏览器对特定域名下的cookie 的个数有限制,每个域名下最好不要操过 ...

  9. MongoDB 数据库管理(不定时更新)

    之前的几篇文章大致说了副本集的搭建.副本集的管理,现在说下MongoDB数据库的管理.数据库管理包括:备份.还原.导入.导出.服务器管理等. 一:查看服务器状态,查看命令行参数.db.serverSt ...

  10. jquery若干问题

    1.获取服务器端的控件 $("#<%=photopath.ClientID%>").uploadPreview({ Img: "ImgPr", Wi ...