首页 > 代码库 > linux系统死机分析及解决方法
linux系统死机分析及解决方法
一、常见死机原因
二、日志分析
日志系统,通过rsyslog.service服务进行控制,分别用于记录系统内核和各应用程序的日志信息。配置文件/etc/rsyslog.conf
/var/log/messages 记录系统内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序报错等,对于未使用独立日志文件的应用程序或服务,一般都可以从该文件获得相关事件的日志记录信息。 /var/log/cron 记录crond计划任务产生的事件消息 /var/log/dmesg 记录系统在引导过程中的各种事件信息 /var/log/maillog 记录进入或发出系统的电子邮件活动 /var/log/lastlog 最近几次成功登录时间和最后一次不成功的登录事件 /var/log/rpmpkgs 记录系统安装各rpm包列表信息 /var/log/secure 记录用户登录认证过程中的事件信息 /var/log/wtmp 记录每个用户登录,注销及系统启动和停机事件信息,不能cat查看,只能last/lastb查看
通常情况下,内核及大多数系统消息都被记录到公共日志文件/var/log/messages中,而其他程序消息被记录不同的日志文件中,日志消息还能够记录特定的存储设备中,或者直接向用户发送。
2.2 日志消息的重要程度
linux系统中根据日志消息的重要程度,分为不同的优先级别(数字越小,优先级越高,消息越重要)
>0 EMERG(紧急):会导致主机系统不可用的情况。 >1 ALERT(警告):必须马上采取措施解决的问题。 >2 CRIT(严重):比较严重的情况。 >3 ERR(错误):运行出现错误。 >4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。 >5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。 >6 INFO (信息):一般信息。 >7 BEBUG(调试):程序或系统调试信息等。
2.3 日志记录格式
由rsyslog服务统一管理的大部分日志文件,日志记录格式基本是相同的。例如公共日志文件/var/log/messages记录内核及系统日志的基本格式
日志每行表示一条消息,每个消息均由四个字段的固定格式
>:时间标签:消息发出的日期和时间。 >:主机名:生成消息的计算机的名称。 >:子系统名称:发出消息的应用程序的名称。 >:消息:消息的具体内容。
一般将日志信息发送到其他设备存储,即使黑客入侵后想清除相应的痕迹,使管理员难以发现。
2.4 用户日志
wtmp/utmp/lastlog等都是用户日志文件,保存系统用户登录、退出等的相关信息,都是二进制文件,不能直接tail/cat查看,需通过who/w//last/lastb/ac等命令查询
2.5 日志文件管理策略
>:日志备份和归档:日志文件也是重要的数据资料,同样需要进行备份和归档。 >:延长日志保存期限:在存储空间富裕的情况下,日志数据保留的时间应尽可能长。 >:控制日志访问权限:日志数据中可能会包含各类敏感信息,如:账号、口令等。所以需要严格控制其访问权限。 >:集中管理日志:使用集中的日志服务器管理各服务器发送的日志记录等。其好处在于方便对日志的收集、整理和分析,杜绝意外的丢失、恶意篡改或删除等。
2.6 日志集中管理
2.6.1 日志服务器A
/etc/sysconfig/rsyslog 将SYSLOGD_OPTIONS变量的内容改为“-r -x -m 0”即可。
-r 表示允许接受其他服务器发送过来的日志记录
-x 表示不进行DNS域名解析
-m 表示记录日志的时间间隔,0表示禁用该功能
2.6.2 客户机B
修改/etc/rsyslog.conf配置文件
vi /etc/syslog.conf cron.* @173.17.17.3 service syslog restart
2.6.3 验证
在B上修改crontab中内容,观察A上是否记录相应日志。
linux系统死机分析及解决方法