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

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

目录

  • 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 ~]# 
http://www.xdnf.cn/news/8192.html

相关文章:

  • 【知识图谱】数据处理与数据存储
  • VTK—三维图像重建和剖切
  • 【博通芯片方案】调试指令详解版二(无线)
  • 高等数学-连续
  • 【RocketMQ 生产者和消费者】- 生产者启动源码-创建 MQClientInstance(2)
  • yarn 命令运行问题 bug
  • 催化燃烧型氢气传感器的响应速度和恢复速度如何?
  • os:进程与线程上
  • OS虚拟内存管理
  • 武汉火影数字|数字企业馆制作 多媒体数字化展厅
  • 4 SLAM(同步定位与建图)学习指南
  • 【北邮通信系统建模与仿真simulink笔记】(2)2.3搭建仿真模型模块操作运行仿真
  • F5《2025年应用战略现状》报告:AI 落地加速,企业战略从讨论迈向行动
  • 从原理到实践:一文详解残差网络
  • 【Bluedroid】蓝牙 HID Host connect全流程源码解析
  • 简说Qt信号和槽
  • 雅思英语考试基本介绍
  • 案例分享——福建洋柄水库大桥智慧桥梁安全监测
  • 一文讲透:如何用AI生成时序图
  • 六:操作系统虚拟内存之帧分配
  • 鸿蒙Flutter实战:23-混合开发详解-3-源码模式引入
  • MaskGIT:掩码图像生成经典方法
  • Github超19k+ strar的实时协同编辑的开源框架yjs
  • 楼宇智能照明控制系统设计与实现(基于组态软件)
  • Ubuntu更新源服务器时出现:pk-client-error-quark
  • 抖音IP属地跟无线网有关吗?如何更改
  • 从LCD1602显示实验看嵌入式仿真教学平台如何革新高校实践教育
  • “人工智能+多学科”选题思路,2025热点AI+(180个)
  • Linux进程信号(五)之捕捉信号
  • 已将析构函数隐式定义为“已删除”错误