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

目录

  • 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.pswp.cn/web/80909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ 非类成员变量 非类成员函数 全局变量 使用

1 使用特点 加 :: 变量使用 #include <iostream> using namespace std; int qwer 100; int asdf 900; void sitl(){std::cout <<"globe dog is sitting." << std::endl; }class Cat { public:static int num;}; int Cat::num 99;class Dog { …

【小乌龙问题】stm32供电,用过的ch340缺无法被识别

解决&#xff1a;更换正确供电&#xff08;stlink&#xff09;&#xff0c;不能用usb-ttl的仅供电&#xff0c;会干扰的&#xff01;&#xff01;&#xff01;&#xff01; 原来用stlink供电&#xff0c;今天没拿就想着usb-ttl的电源供电&#xff0c;然后用ch340传输数据&…

使用 Navicat 17 for PostgreSQL 时,请问哪个版本支持 PostgreSQL 的 20150623 版本?还是每个版本都支持?

&#x1f9d1;‍&#x1f4bb; PostgreSQL 用户 使用 Navicat 17 for PostgreSQL 时&#xff0c;请问哪个版本支持 PostgreSQL 的 20150623 版本&#xff1f;还是每个版本都支持&#xff1f; &#x1f9d1;‍&#x1f527; 官方技术中心 Navicat Premium 17 和 Navicat for P…

游戏引擎学习第305天:在平台层中使用内存 Arena 的方法与思路

回顾前一天内容&#xff0c;并为今天的开发工作设定方向 我们正在直播制作完整游戏&#xff0c;当前正在实现一个精灵图&#xff08;sprite graph&#xff09;的排序系统。排序的代码已经写完&#xff0c;过程并不复杂&#xff0c;虽然还没做太多优化&#xff0c;但总体思路比…

PHP-FPM 调优配置建议

1、动态模式 pm dynamic; 最大子进程数&#xff08;根据服务器内存调整&#xff09; pm.max_children 100 //每个PHP-FPM进程大约占用30-50MB内存(ThinkPHP框架本身有一定内存开销)安全值&#xff1a;8GB内存 / 50MB ≈ 160&#xff0c;保守设置为100 ; 启动时创建的进程数&…

腾讯2025年校招笔试真题手撕(一)

一、题目 有n 把钥匙&#xff0c;m 个锁&#xff0c;每把锁只能由一把特定的钥匙打开&#xff0c;其他钥匙都无法打开。一把钥匙可能可以打开多把锁&#xff0c;钥匙也可以重复使用。 对于任意一把锁来说&#xff0c;打开它的钥匙是哪一把是等概率的。但你无法事先知道是哪一把…

【北邮通信系统建模与仿真simulink笔记】(2)2.3搭建仿真模型模块操作运行仿真

【声明】 本博客仅用于记录博主学习内容、分享笔记经验&#xff0c;不得用作其他非学术、非正规用途&#xff0c;不得商用。本声明对本博客永久生效&#xff0c;若违反声明所导致的一切后果&#xff0c;本博客均不负责。 目录 【声明】 一、搭建第一个仿真模型 二、模块操作…

系统与账户安全

SYS-01&#xff1a;Windows的账户安全 安全配置核心原则&#xff1a; 强密码策略&#xff1a; 通过组策略设置密码复杂度&#xff1a; # 启用密码复杂度要求 secedit /export /cfg secpolicy.inf # 修改文件中的 "PasswordComplexity 1" secedit /configure /db …

COMPUTEX 2025 | 广和通5G AI MiFi解决方案助力移动宽带终端迈向AI新未来

随着5G与AI不断融合&#xff0c;稳定高速、智能的移动网络已成为商务、旅行、户外作业等场景的刚需。广和通5G AI MiFi方案凭借领先技术与创新设计&#xff0c;重新定义5G移动网络体验。 广和通5G AI MiFi 方案搭载高通 4nm制程QCM4490平台&#xff0c;融合手机级超低功耗技术…

免费开放试乘体验!苏州金龙自动驾驶巴士即将上线阳澄数谷

近日&#xff0c;苏州自动驾驶巴士线路——阳澄数谷示范线正式上线&#xff0c;即日起向全民免费开放试乘体验&#xff01; 在苏州工业园区地铁3号线倪浜•阳澄数谷站外&#xff0c;一辆辆黑、白配色的小巴正在道路上有条不紊地行驶。与普通公交不同的是&#xff0c;小巴造型奇…

嵌入式软件架构规范之 - 分层设计

一、规范的核心思想&#xff1a;驱动文件的“独立性”与“复用性” 该规范的本质是通过分层隔离&#xff0c;实现驱动代码的高复用性、低耦合性&#xff0c;确保驱动模块仅关注“硬件操作逻辑”&#xff0c;不依赖上层业务或下层硬件接口的具体实现细节。其核心要求包括&#…

PyQt5绘图全攻略:QPainter、QPen、QBrush与QPixmap详解

摘要&#xff1a;掌握PyQt5绘图核心控件&#xff0c;轻松实现窗体绘图、文字渲染、几何图形绘制及图像加载。本文附带完整代码示例与效果图&#xff0c;助你快速上手GUI图形开发。 绘图基础&#xff1a;为什么需要这些控件&#xff1f; 在GUI开发中&#xff0c;绘图功能是数据…

C++学习:六个月从基础到就业——多线程编程:std::thread基础

C学习&#xff1a;六个月从基础到就业——多线程编程&#xff1a;std::thread基础 本文是我C学习之旅系列的第五十四篇技术文章&#xff0c;也是第四阶段"并发与高级主题"的第一篇&#xff0c;介绍C11引入的多线程编程基础知识。查看完整系列目录了解更多内容。 引言…

【计算机网络】TCP如何保障传输可靠性_笔记

文章目录 一、传输可靠性的6方面保障二、分段机制三、超时重传机制四、流量控制五、拥塞控制 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 源网站 按TCP/IP 4层体系&#xff0c;TCP位于传输层&#xff0c;为应用层提供服务 一、传输可靠性的6方面保障…

2025年保姆级教程:Powershell命令补全、主题美化、文件夹美化及Git扩展

文章目录 1. 美化 Powershell 缘起2. 安装 oh-my-posh 和 posh-git3. 安装文件夹美化主题【可选】 1. 美化 Powershell 缘起 背景&#xff1a;用了 N 年的 Windows 系统突然觉得命令行实在太难用了&#xff0c;没有补全功能、界面也不美观。所以&#xff0c;我决定改变它。但是…

基于Mongodb的分布式文件存储实现

分布式文件存储的方案有很多&#xff0c;今天分享一个基于mongodb数据库来实现文件的存储&#xff0c;mongodb支持分布式部署&#xff0c;以此来实现文件的分布式存储。 基于 MongoDB GridFS 的分布式文件存储实现&#xff1a;从原理到实战 一、引言 当系统存在大量的图片、…

【Linux】Linux安装并配置Redis

目录 1.安装 2.启动服务 3.配置 3.1.绑定地址 3.2.保护模式 3.3.持久化选项 3.3.1.RDB 持久化 3.3.2.AOF 持久化 3.3.3.如何选择 1.安装 Redis 可以从默认的 CentOS 软件仓库中安装。运行以下命令来安装 Redis sudo dnf install redis -y 响应如下 2.启动服务 安装完成后&…

python-数据可视化(大数据、数据分析、可视化图像、HTML页面)

通过 Python 读取 XLS 、CSV文件中的数据&#xff0c;对数据进行处理&#xff0c;然后生成包含柱状图、扇形图和折线图的 HTML 报告。这个方案使用了 pandas 处理数据&#xff0c;matplotlib 生成图表&#xff0c;并将图表嵌入到 HTML 页面中。 1.XSL文件生成可视化图像、生成h…

黑马点评相关知识总结

黑马点评的项目总结 主要就黑马点评项目里面的一些比较重要部分的一次总结&#xff0c;方便以后做复习。 基于Session实现短信登录 短信验证码登录 这部分使用常规的session来存储用户的登录状态&#xff0c;其中短信发送采取逻辑形式&#xff0c;并不配置云服务验证码功能。…

手搓四人麻将程序

一、麻将牌的表示 在麻将游戏中&#xff0c;总共有一百四十四张牌&#xff0c;这些牌被分为多个类别&#xff0c;每个类别又包含了不同的牌型。具体来说&#xff0c;麻将牌主要包括序数牌、字牌和花牌三大类。序数牌中&#xff0c;包含有万子、条子和筒子&#xff0c;每种花色…