Linux系统故障分析与排查--日志分析

  处理Linux系统出现的各种故障时,故障的症状是最先发现的,而导致这以故障的原因才是最终排除故障的关键。熟悉Linux系统的日志管理,了解常见故障的分析与解决办法,将有助于管理员快速定位故障点,“对症下药”及时解决各种系统问题。

一、主要日志文件包括以下三种类型:
a.内核及系统日志:这种日志数据由系统服务syslog统一管理,根据其主配置文件"/etc/syslog.conf"中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把自己的日志文件交由syslog管理,因而这些程序使用的日志记录也具有相似的格式。
b.用户日志:这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
c.程序日志:有些应用程序运会选择自己来独立管理一份日志文件(而不是交给syslog服务管理),用于记录本程序运行过程中的各种事件信息。由于这些程序只负责管理自己的日志文件,因此不同的程序所使用的日志记录格式可能会存在极大差异。

#列表查看"/var/log"目录中的各种日志文件及子目录。

对于Linux系统中的一些常见日志文件,有必要熟悉其相应的用途,这样才能在需要的时候更快地找到问题所在,及时解决各种故障。如:
1. >/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该文件获得相关的事件记录信息。
2. >/var/log/cron:记录crond计划任务产生的事件消息。
3. >/varlog/dmesg:记录Linux系统在引导过程中的各种事件信息。
4. >/var/log/maillog:记录进入或发出系统的电子邮件活动。
5. >/var/log/lastlog:最近几次成功登录事件和最后一次不成功登录事件。
6. >/var/log/rpmpkgs:记录系统中安装各rpm包列表信息。
7. >/var/log/secure:记录用户登录认证过程中的事件信息。
8. >/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
9. >/var/log/utmp:记录当前登录的每个用户的详细信息

二、日志文件分析
熟悉了系统中的主要日志,我们就针对日志文件的分析方法做了解。分析日志文件的目地在于通过浏览日志查找关键信息,对系统服务进行调试,判断发生故障的原因等。这里主要说三类日志文件的基本格式和分析方法。
对于大多数文本格式的日志格式(如内核及系统日志、大多数的程序日志),只要使用tail、more、less、cat等文本处理工具就可以查看日志内容。而对于一些二进制格式的日志文件(eg:用户日志),则需要使用相应的查询命令。
1.内核及系统日志:
内核及系统日志功能主要由默认安装的syslogd-1.4.1-39.2软件包提供,该软件包安装了klogd、syslogd两个程序,并通过syslog服务进行控制,分别用于记录系统内核的消息和各种应用程序的消息。syslog服务所使用的配置文件为"/etc/syslog.conf"。
通常情况下,内核及大多数系统消息都被记录到公共日志文件"/var/log/messages"中,而其他一些程序消息被记录到不同的文件中,日志消息还能够记录到特定的存储设备中,或者直接向用户发送。
###查看日志配置文件"/etc/syslog.conf‘中的内容

2.用户日志
在wtmp、utmp、lastlog等日志文件中,保存了系统用户登录,退出等相关事件的事件消息。但是这些文件都是二进制的数据文件,不能直接使用tail、less等文本查看工具进程浏览,需要使用who、w、users、last和ac等用户查询命令来获取日志信息。
这里就不再演示。
3.程序日志
在Linux系统中,还有相当一部分应用程序并没有使用syslog服务来管理日志。而是由程序自己维护日志记录。例如,httpd网站服务程序使用两个日志文件access_log和error_log,一般存放在"/var/log/httpd“目录中,分别记录客户访问事件,错误事件,而FTP服务程序可以将与文件上传,下载事件相关的消息记录在xferlog文件中。由于不同应用程序的日志记录格式差别较大,并没有严格使用统一的格式,这里不详解!
特例:服务器日志分布管理策略:
鉴于日志数据资料的重要性,对于系统运行过程中产生的各种日志文件,必须采用有针对性的管理策略,以确保日志数据的准确性、安全性和真实性。一般来说,可以从以下几个方面进行考虑。
>:日志备份和归档:日志文件也是重要的数据资料,同样需要进行备份和归档。
>:延长日志保存期限:在存储空间富裕的情况下,日志数据保留的时间应尽可能长。
>:控制日志访问权限:日志数据中可能会包含各类敏感信息,如:账号、口令等。所以需要严格控制其访问权限。
>:集中管理日志:使用集中的日志服务器管理各服务器发送的日志记录等。其好处在于方便对日志的收集、整理和分析,杜绝意外的丢失、恶意篡改或删除等。
eg:服务器A(IP地址为173.17.17.3/24),用于集中保存日志记录。
将客户机B(IP地址为173.17.17.11/24)中crond服务产生的日志记录,统一保存到服务器A中的“/var/log/cron”文件中。
● 设置日志服务器A
在日志服务器A中,需要编辑syslog日志服务的启动参数配置文件"/etc/sysconfig/syslog",将SYSLOGD_OPTIONS变量的内容改为“-r -x -m 0”即可。其中"-r"选项表示允许接受其他主机发送过来的日志记录,"-x"选项表示不进程DNS域名解析,"-m"表示记录日志的时间标记间隔(设为0禁用该功能),这些信息可以通过查看syslogd程序的man手册页获得
*:修改日志服务器A的“/etc/sysconfig/syslog”文件,添加集中管理配置参数“-r”,并重启syslog服务。
1. vi /etc/sysconfig/syslog //修改SYSLOGD_OPTIONS行SYSLOGD_OPTIONS="-r -x -m 0"
2. service syslog restart

● 设置客户机B
在客户机B中,需要修改"/etc/syslog.conf"配置文件,设置将cron计划任务的日志消息写入到服务器A的"/var/log/cron"文件中。指定写入日志的主机地址时,采用“@173.17.17.3”的格式即可。
*:修改客户机B的"/etc/syslog.conf"文件,找到cron日志的配置行,将日志发送位置改为“@173.17.17.3”,并重启syslog服务。
1. vi /etc/syslog.conf
2. cron.* @173.17.17.3
3. service syslog restart

● 验证日志集中管理功能
在客户机B中执行"crontab -e"命令,随便编写一条计划任务信息并保存退出,然后查看本机中的"/var/log/cron"日志文件,将发现没有任何新的记录。

时间: 2024-11-03 03:27:11

Linux系统故障分析与排查--日志分析的相关文章

linux系统故障分析与排查

在处理Linux系统出现的各种故障时,故障的症状是最先发现的,而导致这以故障的原因才是最终排除故障的关键.熟悉Linux系统的日志管理,了解常见故障的分析与解决办法,将有助于管理员快速定位故障点."对症下药"及时解决各种系统问题. 日志分析及管理 日志文件是用于记录Linux系统中各种运行消息的文件,相当于Linux主机的"日记".不同的日志文件记载了不同类型的信息,如:Linux内核消息,用户登录记录,程序错误等.日志文件对于诊断和解决系统中的问题很有帮助,因为在

在Linux系统上部署AWStats日志分析系统

AWStats是使用Perl语言开发的一款开源日志分析系统,它不仅可用来分析Apache网站服务器的访问日志,也可用来分析Samba Vsftpd IIS等服务的日志信息.综合crond等计划任务服务,可以对不断增长的日志内容定期进行分析. 实验环境:一台Linux6.5虚拟机,IP地址为192.168.100.222 一台windows虚拟机,地址为192.168.100.30 AWStats软件包链接:https://pan.baidu.com/s/1HWLiZuVEl9JSPGzPqT8O

Linux系统下分割tomcat日志

在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在window下的效果,做到按日期自动分割日志,过程如下: 1.在Linux安装cronolog,本文中采用的是cronolog-1.6.2版本 [[email protected] src]# tar zxvf cronolog-1.6.2.tar.gz [[email protected] cron

linux系统中如何查看日志 (转)

linux系统中如何查看日志 (常用命令) 博客分类: linux相关 LinuxIDERedHat防火墙活动 cat tail -f 日 志 文 件 说    明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /var/log/spooler 与UUCP和news设备相

Linux下安装部署AWStats日志分析系统实例

AWStats是使用Perl语言开发的一款开放性日志分析系统,可分析Apache网站服务器的访问日志,还可以用来分析Samba.Vsftpd.IIS等日志信息.       此文章主要讲解如何在linux系统下安装部署关于对Apache网站服务站日志分析的AWStats. 实验步骤一,安装部署AWStats分析软件. 一,安装AWStats软件包. 直接将其解压到/usr/local/awstats目录下即可完成安装. 使用命令:mkdir -p /usr/local/awstats tar z

Linux的系统故障分析与排查

在处理Linux系统出现的各种故障时,故障的症状是最先发现的,而导致这以故障的原因才是最终排除故障的关键.熟悉Linux系统的日志管理,了解常见故障的分析与解决办法,将有助于管理员快速定位故障点."对症下药"及时解决各种系统问题. (一)日志分析及管理 ◆ 日志文件是用于记录Linux系统中各种运行消息的文件,对于诊断和解决系统中的问题很有帮助.在Linux系统中,日志文件包括三种类型: 1.内核及系统日志:这种日志数据由系统服务syslog统一管理,根据其主配置文件"/et

Linux系统中如何查看日志信息

日志文件是用于记录Linux系统中各种运行消息的文件,不同的日志文件记载了不同类型的信息,对于诊断和解决系统中的问题很有帮助 分析日志文件 日志数据主要包括三种类型:内核及系统日志.用户日志.程序日志 #对于大多数的文本格式的日志文件,使用tail.more.less.cat 等命令就可查看日志内容 #对于一些二进制格式的日志文件(如用户日志文件),使用who.w.users.last.lastb等 内核及系统日志的配置文件为 /etc/rsyslog.conf,通过查看文件内容,可以了解到系统

在Windows系统下搭建ELK日志分析平台

再记录一下elk的搭建,个人觉得挺麻烦的,建议还是在linux系统下搭建,性能会好一些,但我是在windows下搭建的,还是记录一下吧,像我这种记性差的人还是得靠烂笔头 简介: ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个完全开源的工具,他可以对你的日志进行收集.过

linux 系统 UDP 丢包问题分析思路

转自:http://cizixs.com/2018/01/13/linux-udp-packet-drop-debug?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 最近工作中遇到某个服务器应用程序 UDP 丢包,在排查过程中查阅了很多资料,总结出来这篇文章,供更多人参考. 在开始之前,我们先用一张图解释 linux 系统接收网络报文的过程. 首先网络报文通过物理网线发送到网卡 网络驱动程序会把网络中的报文读出来放到