一、常见死机原因



二、日志分析

日志系统,通过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中,而其他程序消息被记录不同的日志文件中,日志消息还能够记录特定的存储设备中,或者直接向用户发送。

linux系统死机分析及解决方法_配置文件

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记录内核及系统日志的基本格式

linux系统死机分析及解决方法_应用程序_02

日志每行表示一条消息,每个消息均由四个字段的固定格式

>:时间标签:消息发出的日期和时间。   
>:主机名:生成消息的计算机的名称。   
>:子系统名称:发出消息的应用程序的名称。   
>:消息:消息的具体内容。

一般将日志信息发送到其他设备存储,即使黑客入侵后想清除相应的痕迹,使管理员难以发现。

 

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上是否记录相应日志。