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 |
发生panic 时thread_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工具