Linux常用的日志分析命令与工具

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 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

>>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,0,6}' access.log | head -10

按条件打印

awk 'length(0)>40{print0)>40{print3}' access.log | head -10

格式化输出

awk '{line= sprintf("method:%s,response:%s", 3,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==404print$6access.log|wclexpr6==′404′print$6′access.log|wc−l‘占比exprnot_found_line \* 100 / $total_line &&或;可合并为一行。

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

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


本文转自邴越博客园博客,原文链接:http://www.cnblogs.com/binyue/p/3608061.html,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
22小时前
|
IDE Linux 数据处理
探索Linux中的`pydoc`命令:Python文档生成器的力量
`pydoc`是Linux上Python的文档生成和查看工具,尤其对数据科学家有价值。它从docstring生成模块、函数和类的文档,提供快速API参考。主要特点包括易用性、支持标准库和第三方库、跨平台。命令行示例:`pydoc pandas` 查看库文档,`pydoc numpy.array` 查看类详情,`pydoc -k 关键字` 进行搜索。使用时注意正确安装Python,编写清晰的docstring,并结合IDE以提升效率。
|
22小时前
|
存储 安全 Linux
深入解析Linux的`read`命令
`read`命令在Linux shell中用于从标准输入读取数据并赋值给变量。它可以用于交互式脚本,提供用户输入或读文件。关键选项包括`-p`(提示用户)、`-r`(禁用转义)、`-s`(静默模式,适合密码)、`-t`(超时)和`-n`(读取特定字符数)。示例包括基本输入、带提示的密码输入和设置超时的输入。注意安全处理密码和验证用户输入。
|
22小时前
|
存储 Linux 数据处理
Linux中的raw命令:深入解析与实用指南
Linux的`raw`命令详解:用于直接访问硬件设备,绕过文件系统,提供高灵活性和性能。适用于数据处理,如直接复制文件或设备数据。使用时需谨慎,注意设备理解、数据备份及正确选项选择。结合其他工具可实现更多功能。示例:`raw file1 file2`复制文件,`raw -s 1024 file1 file2`跳过字节复制。
|
22小时前
|
Linux 数据处理 vr&ar
Linux下的ranlib命令:静态库文件的索引生成器
`ranlib`是Linux用于加速静态库(.a文件)链接的工具,它生成索引以优化查找目标文件。当链接器处理静态库时,索引能快速定位目标,提升效率。命令如`ranlib libexample.a`创建索引。注意,新工具链可能已自动包含此功能,使用前应确保库文件未含索引,避免重复生成。
|
22小时前
|
缓存 安全 Unix
深入探索Linux中的qemu-ga命令
**QEMU的qemu-ga是虚拟机内的守护进程,提供带外通道管理guest OS,如文件操作、关机、休眠等。它通过virtio-serial通信,特点是安全、高效、灵活。例如,使用`virsh qemu-agent-command`执行虚拟机内部命令。最佳实践包括安装配置agent、设置黑名单、考虑安全和性能、定期备份及利用社区资源。**
|
22小时前
|
算法 安全 Linux
Linux命令pwmake的深入解析
`pwmake`是一个假设的Linux命令,用于生成随机密码,基于随机数算法,特点是高度随机、可配置且快速。常用参数如`-l`设定长度,`-c`指定字符类型。例如,`pwmake -l 10 -c alnum`生成字母数字组合的密码。使用时注意命令正确性、选择合适参数、保护密码安全,定期更换并结合其他安全措施。
|
22小时前
|
存储 Unix Linux
深入解析Linux命令:pwd
`pwd`命令在Linux中显示当前工作目录。它默认显示逻辑路径,含符号链接,但用`-P`参数可显示物理路径。在脚本中,`pwd`能确定脚本执行目录,常用于路径操作。注意事项包括:脚本中直接调用`pwd`获取目录,理解符号链接处理,以及考虑命令的跨平台兼容性。了解这些能提升系统管理和脚本编写效率。
|
19天前
|
SQL 数据采集 DataWorks
DataWorks产品使用合集之pyodps的线程限制是什么意思
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
2天前
|
SQL 运维 关系型数据库
|
2天前
|
存储 关系型数据库 MySQL