Linux借助系统日志排查问题

阅读数:134 评论数:0

跳转到新版页面

分类

Linux

正文

一、查看系统负载

1、uptime 查看系统运行时间、用户数、负载

2、显示本次系统的开机时间

uptime -s

3、查看系统负载

cat /proc/loadavg

二、dmesg日志

dmesg日志只记录本次启动之后的信息,但较messages更详细。

dmesg命令用于打印Linux系统开机启动信息,kernel会将开机信息和运行信息存储在ring buffer中。你若开机时来不及查看信息,可利用dmesg来查看。开机信息也保存在/var/log/dmesg的文件里。某些硬件设备在安装的时候,通常会安装驱动程序(内核模块),会打印一些信息,也可以用dmesg命令查看。由于dmesg产生的信息较多,可以结合grep/more/less/tail等命令一起使用。

例子:

# 以易读格式显示日志事件
dmesg -T

# 查看内核日志中的调用栈
##  -T 显示易读的时间戳
## less防止太大屏幕滚动停不下来
dmesg -T|less

# 显示最后10条日志
dmesg -T | tail -n 10
# 从下往上看

# 直接查看开机信息
dmesg   

# 清除环形缓存区,但/var/log/dmesg文件中仍然有这些信息。
dmesg  -c    

三、系统日志

内核及系统日志由系统服务rsyslog统一管理,根据其配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。

日志文件 日志作用 查看方式
dmesg 主要记录系统在开机时内核检测过程所产生的信息 通过执行dmesg命令查看
/var/log/wtmp or /var/log/faillog 这两个文件可以记录正确登陆系统者的账户信息(wtmp),与错误登陆时所使用的账户信息 last命令就是读取wtmp文件来获取的.
/var/log/btmp 记录错误登陆日志,这个文件是二进制的 不能使用cat命令查看,而要使用lastb命令查看.
/var/run/utmp 记录当前登陆用户的信息 不能使用cat命令查看,而要使用w,who,users命令来查询.
/var/log/lastlog 系统安全日志,记录用户远程登录,认证过程中的事件信息,只要涉及到需要用户名和密码的操作,那么当登陆系统是(不论正确错误),都会记录到这里.  
/var/log/messages 这个文件非常重要,几乎系统发生的错误信息,或者重要信息都会被记录在这里.系统公共常规日志,记录内核消息,包括启动,IO/网络/程序错误日志  
/var/log/cron 主要记录关于crontab计划任务的相关信息,比如,系统计划任务的错误配置,计划任务的修改等. 查看系统计划任务日志
tail --f /var/log/cron
使用关键字过滤计划任务日志
grep “alidata” /var/log/cron
/var/log/malilog or /var/log/mail/* 记录着邮件的往来信息,默认是postfix邮件服务器的一些信息.  

四、kdump日志

kdump是一个用于收集系统崩溃、死锁或死机时内核参数的一个服务。

触发panic的情况下,在/var/crash目录下会生成以问题发生时间点命名的文件夹,其下有vmcore文件(即kdump)以及vmcore-dmesg.txt文件。vmcore-dmesg文件包含calltrace信息,可用于基本的问题定界。

通过vmcore可以找到崩溃时间、kernel panic的原因等信息,通过分析堆栈一般可以定位出系统故障的真正原因。

DATE 发生panic的时间。
UPTIME 系统发生panic前持续运行的时间。
LOAD AVERAGE 1分钟,5分钟,15分钟内统计的CPU负载平均值(正在运行和准备运行的任务的数目)
TASKS 发生panic时系统中进程总数,包括处于各种状态的进程总和。
PANIC 系统发生panic的原因及相应信息。
PID 发生panic的任务号。
COMMAND 发生panic的任务正在执行的操作
TASK 发生panic的任务描述符
THREAD_INFO 发生panicthread_info结构体的地址。
STATE 发生panic的任务当时的状态。

 




相关推荐

一、简介 简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 二、使用方法 1、基本语法  awk '条件类型1 {动作1} 条件类型2{动作2} ...

一、概述 全称为print working directory,查看”当前工作目录“的完整路径,一般情况下不带任何参数 二、语法 pwd [选项] -L 即logical,逻辑路径 -P 即

一、概述 which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。 二、语法 which 可执行文件名称 -n  指定文件名长度,指定的长度必须大于或等于

一、概述 whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 和find相比,whereis查

一、概述 可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令 二、语法 watch[参数][命令] -n或--interval  watch缺省每2秒运行一下程序,可以用

一、useradd # useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录

一、概述 在Linux环境下,pthread_rwlock_t 是一个用于实现读写锁的数据类型,它属于POSIX线程(pthreads)库。读写锁允许多个线程同时读取共享数据,但是如果一个线程想要写入

一、概述 1、为什么Linus不使用GPLv3 在 PC 上,只要你得到了某个程序的源代码,就可以自行编译生成二进制程序,然后替换掉原有的二进制程序,你的程序自由很容易得到保证。然而 iPod、iPh

说明:这种方式只是用于方便阅读代码,因为可以在源代间快速索引跳跃。但是最后可能会有一些warning,可以不必关心,如果是强迫症,可以使用下面这种方式来去掉。

一、概述 在Linux系统中,/usr/bin和/usr/local/bin是两个常见的目录,用于存放可执行文件(二进制文件)。 很多应用都安装在/usr/local下面,先看一下automake工具