Linux中的系统故障分析与排查

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

1、日志分析及管理

日志文件是用于记录Linux系统中各种运行消息的文件,相当于Linux主机的“日记”。不同的日志文件记载了不同类型的信息,如:Linux内核消息,用户登录记录,程序错误等。日志文件对于诊断和解决系统中的问题很有帮助,因为在Linux系统中运行的程序通常会把系统消息和错误消息写入相应的日志文件,这样系统一旦出现问题就会“有据可查”。此外,当主机遭受攻击时,日志文件还可以帮助寻找攻击者留下的痕迹。下面我来对Linux系统中的主要日志及分析管理方法进行介绍。

1.1、主要日志文件包括以下三种类型:

>内核及系统日志:这种日志数据由系统服务syslog统一管理,根据其主配置文件"/etc/syslog.conf"中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把自己的日志文件交由syslog管理,因而这些程序使用的日志记录也具有相似的格式。

>用户日志:这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。

>程序日志:有些应用程序运会选择自己来独立管理一份日志文件(而不是交给syslog服务管理),用于记录本程序运行过程中的各种事件信息。由于这些程序只负责管理自己的日志文件,因此不同的程序所使用的日志记录格式可能会存在极大差异。

Linux系统本身和大部分服务器程序的日志文件默认情况下都放置在目录“/var/log”中。一部分程序共用一个日志文件,一部分程序使用单个日志文件,而有些大型服务器程序由于日志文件不至一个,所以会在“/var/log/”目录中建立相应的子目录来存放日志文件,这样既保证了日志文件目录的结构清晰,又可以快速地定位日志文件。有相当一部分日志文件只有root用户才有权限读取,这保证了相关日志信息的安全性。

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

对于Linux系统中的一些常见日志文件,有必要熟悉其相应的用途,这样才能在需要的时候更快地找到问题所在,及时解决各种故障。如:

>/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该文件获得相关的事件记录信息。
>/var/log/cron:记录crond计划任务产生的事件消息。
>/varlog/dmesg:记录Linux系统在引导过程中的各种事件信息。
>/var/log/maillog:记录进入或发出系统的电子邮件活动。
>/var/log/lastlog:最近几次成功登录事件和最后一次不成功登录事件。
>/var/log/rpmpkgs:记录系统中安装各rpm包列表信息。
>/var/log/secure:记录用户登录认证过程中的事件信息。
>/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。
>/var/log/utmp:记录当前登录的每个用户的详细信息

1.2、日志文件分析

熟悉了系统中的主要日志,我们就针对日志文件的分析方法做了解。分析日志文件的目地在于通过浏览日志查找关键信息,对系统服务进行调试,判断发生故障的原因等。这里主要说三类日志文件的基本格式和分析方法。

本栏目更多精彩内容:http://www.bianceng.cn/OS/Linux/

对于大多数文本格式的日志格式(如内核及系统日志、大多数的程序日志),只要使用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'中的内容

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索linux
, 日志
, 文件
, 日志文件
, 程序
, 系统
, 消息
, linux 消息队列
, 日志分析
, 日志系统
, 日志系统 logback
, phpphp-resque消息队列linux
, 系统日志
日志分析系统
linux网络故障排查、linux故障排查、linux服务器故障排查、linux系统故障、电力系统故障分析,以便于您获取更多的相关知识。

时间: 2024-10-26 05:48:23

Linux中的系统故障分析与排查的相关文章

Linux中解决系统时钟和硬件时钟不一致的问题

在使用linux的过程中,可能遇到系统时候和硬件时钟不一致,即date,hwclock --show看到的时钟不一致. Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置.当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作. Linux中的所有命令(包括函数)都是采用的系统时钟设置

Linux中显示系统中USB信息的lsusb命令

通用串行总线(USB)被设计成为连接计算机外设的标准,如键盘.鼠标.打印机.数码相机.便携式媒体播放器.磁盘和网络适配器等等 - 来源:Wikipedia 它已经成为了一个工业标准,现在很难看到一个没有USB口的计算机了.USB闪存的使用使得它更加流行.在Linux上,我们可以使用lsusb来列出USB设备和它的属性. 什么是lsusb 在它的手册上,lsusb定义成: 显示系统中以及连接到系统的USB总线信息的工具. 如何运行lsusb? 要运行lsusb,你可以直接在控制台输入lsusb.

linux中获取系统时间的几种方法

  asctime(将时间和日期以字符串格式表示)   相关函数 time,ctime,gmtime,localtime 表头文件 #include<time.h> 定义函数 char * asctime(const struct tm * timeptr); 函数说明 asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回. 此函数已经由时区转换成当地时间,字符串格式为:"Wed Jun 30 21:49:08

虚拟机-mware 中安装不了linux 64位系统

问题描述 mware 中安装不了linux 64位系统 我在联想v4000笔记本上安装了vmware虚拟机,我想在虚拟机上安装linux6.5 -64位系统.但是在虚拟机上能出现安装的初始页,但是点击第一项安装的时候,就会出现如下的问题: 出现如图效果:就不往下走了. 各位大神,求指点. 解决方案 64位linux 系统如何安装flashplayer关于Linux64位系统不能安装32位程序的解决方式Linux 环境下部署Hadoop 2.x,建议尝试64位系统下进行本地编译的安装方式 解决方案

5 个在 Linux 中管理文件类型和系统时间的有用命令

对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同的命令,你应该每天使用终端并明白怎样将命令和不同选项以及参数一同使用. 在 Linux 中管理文件类型和设置时间 请先查看我们 Linux 小技巧系列之前的文章: 5 个有趣的 Linux 命令行技巧 给新手的 10 个有用 Linux 命令行技巧 在这篇文章中,我们打算看看终端中 5 个和文件以及

5个找出Linux中“二进制命令”描述和系统中位置的方法

在数千个 Linux 系统上的命令/程序中,知道给定命令的类型和目的以及其在系统上的位置(绝对路径)对于新手来说可能是一个挑战. 知道命令/程序的一些细节不仅有助于 Linux 用户掌握大量命令,还能使用户理解命令行或脚本在系统上的操作. 因此,在本文中我们将向你解释五个有用的命令,用于显示给定命令的简短描述和位置. 要在系统上发现新命令,请查看 PATH 环境变量中的所有目录.这些目录存储系统上安装的所有命令/程序. 一旦你找到一个有趣的命令,在继续阅读更多关于它的手册页之前,请尝试如下收集一

Linux CentOS6.6系统中安装mysql源码包的方法_Linux

这里以CentOS6.6系统中安装MySQL的源码包,进行讲解. 1. mysql源码包的下载 mysql安装包的官方下载地址为:http://dev.mysql.com/downloads/mysql/5.6.html 打开该下载地址后,在 "Select Version:"处,选择要下载的mysql的版本,我选择的是5.6.34:在"Select Platform:"处,选择适用的操作系统类型,由于是下载源码包,故这里我们要选择Source Code. 之后,会

如何在VirtualBox中的Linux客户机系统间共享磁盘

如何在VirtualBox中的Linux客户机系统间共享磁盘 在本教程中,让我来给你们展示一下如何在VirtualBox中的两个Linux客户机系统间共享一个磁盘. 本教程对于那些想配置一下并玩玩GFS或者集群的人来说还是很有帮助的. 下图是VirtualBox的标准界面: 第一个客户系统机CentOS1: 第二个客户机系统CentOS2: 给第一台机器添加额外的磁盘: 点击文件->虚拟介质管理器(Control+D)打开虚拟介质管理器界面: 设置磁盘为可共享(Shareable): 在客户机C

[小白技巧]如何在Linux中知道你的系统是否有USB 3.0 端口

[小白技巧]如何在Linux中知道你的系统是否有USB 3.0 端口 近来的大多数的新计算机都有了USB 3.0接口了.但是你怎么知道你的计算机有没有USB 3.0接口?这篇短文中,我们会告诉如何在Linux下知道你的系统上有USB 3还是USB3接口. 在Linux终端中检测是否有USB 3.0 端口 打开一个终端,并使用下面的命令: lsusb 这个命令会显示你系统下USB的总线信息.检查一下结果,如果你看到像"3.0 root hub"字样,这意味着你系统有USB 3.0.比如,