如何查看linux系统下的各种日志文件 linux 系统日志的分析大全

如何查看linux系统下的各种日志文件 linux 系统日志的分析大全,第1张

Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的 *** 作记录,并可以从中检索出我们需要的信息。

大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd,默认配置文件为 /etc/syslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。

Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。例如,为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。默认配置下,日志文件通常都保存在“/var/log”目录下。

1.查看日志常用命令

  (1)tail:  

-n  是显示行号;相当于nl命令;例子如下:

tail -100f test.log      实时监控100行日志

tail  -n  10  test.log   查询日志尾部最后10行的日志

tail -n +10 test.log    查询10行之后的所有日志

(2)head:  

跟tail是相反的,tail是看后多少行日志;例子如下:

head -n 10  test.log   查询日志文件中的头10行日志

head -n -10  test.log   查询日志文件除了最后10行的其他所有日志

(3)cat: 

tac是倒序查看,是cat单词反写;例子如下:

cat -n test.log |grep "debug"   查询关键字的日志

2. 应用场景一:按行号查看---过滤出关键字附近的日志

(1)cat -n test.log |grep "debug"  得到关键日志的行号

(2)cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:

tail -n +92表示查询92行之后的日志

head -n 20 则表示在前面的查询结果里再查前20条记录

3. 应用场景二:根据日期查询日志

sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;

先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

(1)使用more和less命令,

如: cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

如:cat -n test.log |grep "debug"  >debug.txt

下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:

类型

说明

auth用户认证时产生的日志,如login命令、su命令。

authpriv与 auth 类似,但是只能被特定用户查看。

console针对系统控制台的消息。

cron系统定期执行计划任务时产生的日志。

daemon某些守护进程产生的日志。

ftpFTP服务。

kern系统内核消息。

local0.local7由自定义程序使用。

lpr与打印机活动有关。

mail邮件日志。

mark产生时间戳。系统每隔一段时间向日志文件中输出当前时间,每行的格式类似于 May 26 11:17:09 rs2 -- MARK --,可以由此推断系统发生故障的大概时间。

news网络新闻传输协议(nntp)产生的消息。

ntp网络时间协议(ntp)产生的消息。

user用户进程。

uucpUUCP子系统。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8970307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存