当前位置: 首页 > news >正文

九、日志分析和系统故障排查

目录

  • 1、日志分析
    • 1.1、日志介绍
      • 1.1.1、日志的功能
      • 1.1.2、日志文件的分类
      • 1.1.3、日志保存位置
    • 1.2、rsyslog服务
      • 1.2.1、发送日志到远程日志服务器
    • 1.3、查看日志文件
      • 1.3.1、/var/log/messages文件的内容示例
      • 1.3.2、用户登录、退出系统的相关日志
    • 1.4、日志级别
    • 1.5、程序日志分析
    • 1.6、日志管理策略
    • 1.7、小结
  • 2、系统故障排查及处理
    • 2.1、Linux系统启动过程
    • 2.2、排除故障的基本原理
    • 2.3、系统故障修复示例
      • 2.3.1、修复MBR扇区故障
      • 2.3.2、修复GRUB引导故障和内核文件损坏
      • 2.3.3、遗忘root密码
      • 2.3.4、救援模式、急救模式、单用户模式的区别
      • 2.3.5、inode节点耗尽故障
      • 2.3.6、检测磁盘坏道

1、日志分析

1.1、日志介绍

1.1.1、日志的功能

  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

1.1.2、日志文件的分类

  • 内核及系统日志
    由系统服务syslog统一进行管理,日志格式基本相似
  • 用户日志
    记录系统用户登录及退出系统的相关信息
  • 程序日志
    由各种应用程序独立管理的日志文件,记录格式不统一

1.1.3、日志保存位置

默认位置:/var/log/
主要的日志文件
在这里插入图片描述
在Linux系统中,有三个主要的日志子系统。
1.连接时间日志
由多个进程执行,把记录写入到/var/log/wtmp和/var/run/utmp文件中,login等进程更新/var/log/wtmp和/var/run/utmp文件,使得系统管理员能够知道谁在何时登录到系统。
2.进程统计
由系统内核执行。当一个进程终止时,向该进程的进程统计文件中写入一条记录。进程统计的目的是为系统中的基本服务提供命令使用统计。
3.错误日志
各种系统守护进程、用户程序和内核通过rsyslog服务向文件/var/log/messages报告值得注意的事件。另外,有许多Linux程序创建日志,像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。

1.2、rsyslog服务

系统内核和许多系统程序会产生错误信息、警告信息和其他信息。这些信息会被写到一个文件中,执行这个过程的服务就是rsyslog。
rsyslog已被许多日志函数采用,它被用在许多保护措施中。任何程序都可以通过rsyslog服务记录事件。rsyslog服务可以记录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或者通过网络记录另一个主机上的事件。
rsyslog服务依赖于两个重要的文件:/etc/init.d/rsyslog(守护进程)和/etc/rsyslog.conf配置文件。习惯上,多数rsyslog信息被写到/var/log目录下的文件中。一个典型的rsyslog记录包括生成程序的名字和一个文本信息,它还包括一个日志内容和一个级别范围(但不在日志中出现)。

1.2.1、发送日志到远程日志服务器

编辑/etc/rsyslog.conf文件
在日志客户端上修改/etc/rsyslog.conf文件,指定日志服务器为192.168.0.2,在该文件末尾添加以下内容。@192.168.0.2

*.* @ 192.168.0.2:514 //使用 @:通过 UDP 发送日志,传输快但不保证可靠性。
*.* @@ 192.168.0.2:514 //使用 @@:通过 TCP 发送日志,传输稍慢但保证数据的可靠性。

1.3、查看日志文件

Linux日志文件是纯文本的文件,每一行就是一个消息。只要是在Linux系统下能够处理纯文本的工具都能用来查看日志文件。日志文件总是非常的大,因为从第一次启动Linux系统开始,信息就都累积在日志文件中。

1.3.1、/var/log/messages文件的内容示例

May  8 17:21:01 localhost chronyd[664]: Selected source 211.68.71.118
时间             主机名     子系统名 PID    消息字段

1.3.2、用户登录、退出系统的相关日志

在 Linux 系统中,用户登录和退出(注销)的相关日志通常可以通过几个不同的文件和命令来查看。这些日志对于系统管理员来说非常重要,因为它们提供了关于谁何时访问了系统的信息。以下是一些查看这些信息的方法:
/var/log/wtmp 文件

  • wtmp 文件记录了所有的登录和登出事件。
  • 使用 last 命令可以读取这个文件并显示历史登录记录。
[root@localhost ~]# last
root     pts/0        172.22.1.254     Wed May  8 17:34   still logged in
reboot   system boot  3.10.0-1160.114. Wed May  8 17:34 - 20:29  (02:54)
root     pts/1        172.22.1.254     Wed May  8 17:02 - down   (00:32)
root     pts/0        172.22.1.254     Tue Apr 30 09:13 - down  (8+08:20)
reboot   system boot  3.10.0-1160.114. Tue Apr 30 08:16 - 17:34 (8+09:17)
root     tty1                          Mon Apr 29 23:57 - 23:57  (00:00)
reboot   system boot  3.10.0-1160.114. Mon Apr 29 23:56 - 17:34 (8+17:37)
root     pts/0        172.22.1.254     Mon Apr 29 23:50 - down   (00:05)
reboot   system boot  3.10.0-1160.114. Mon Apr 29 23:49 - 23:55  (00:06)
root     pts/0        172.22.1.254     Mon Apr 29 23:43 - crash  (00:06)
root     tty1                          Tue Apr 30 07:39 - 23:49  (-7:-49)
reboot   system boot  3.10.0-1127.el7. Tue Apr 30 07:38 - 23:55  (-7:-42)

这个命令会列出所有用户的登录和登出记录,包括从哪个 IP 地址登录、登录和登出时间等信息。
/var/log/btmp 文件
btmp 文件记录了登录失败的尝试。
使用 lastb 命令(可能需要 root 权限)可以查看失败的登录尝试。

[root@localhost ~]# 

相关文章:

  • 【Python3教程】Python3 文件(File)方法详解
  • 痉挛性斜颈护理指南:多维度守护颈部健康
  • 自动化测试报告工具
  • 课外知识:Python方法绑定机制与装饰器传参详解 与 实战
  • 各个网络协议的依赖关系
  • Labview使用报表工具
  • 谷歌开源医疗领域AI语言模型速递:medgemma-27b-text-it
  • 深入剖析 Doris 倒排索引(上):原理与应用全解析​
  • 【C/C++】深入解析Linux下C/C++内存管理全攻略(纲要)
  • 在政务中使用仙盟创梦工具维护曲靖市麒麟公安分局————仙盟创梦IDE
  • JVM常量池(class文件常量池,运行时常量池,字符串常量池)
  • 互联网大厂Java求职面试:AI大模型推理优化与实时数据处理架构
  • CRichEditCtrl 控件实现日志输出
  • 从零基础到最佳实践:Vue.js 系列(7/10):《常用内置 API 与插件》
  • 基于RFSOC49DR-16收16发 PCIE4.0 X8 射频采集卡
  • AI相关的笔记
  • Python迭代器与生成器:大数据处理的内存革命
  • 第七部分:第一节 - 数据库基础与 MySQL 入门:仓库的结构与管理语言
  • 关于XILINX的XDC约束文件编写
  • Elasticsearch搜索排名优化
  • 网站建设纠纷怎么投诉/网络营销工程师培训
  • 广州市企业网站建设/seo zac
  • 开发手机端网站模板下载不了/百度推广官网
  • 宝塔没有域名直接做网站怎么弄/百度百科搜索入口
  • 中级经济师考试报名/优化技术基础
  • 做网站网页的工作怎么样/网站建设的意义和作用