全面理解Linux 系统日志:核心文件与查看方法

news2025/4/23 2:23:23

全文目录

    • 1 Linux 系统日志分类及功能
      • 1.1 通用日志
        • 1.1.1 ‌/var/log/messages
        • 1.1.2 ‌/var/log/syslog
      • 1.2 安全相关日志
        • 1.2.1 ‌/var/log/auth.log‌(Debian/Ubuntu)或 ‌/var/log/secure‌(RHEL/CentOS)
        • 1.2.2 /var/log/audit/audit.log
      • 1.3 启动与内核日志
        • 1.3.1 /var/log/boot.log
        • 1.3.2 /var/log/dmesg
      • 1.4 用户与登录日志
        • 1.4.1 /var/log/wtmp
        • 1.4.2 /var/log/btmp
        • 1.4.3 /var/log/lastlog
      • 1.5 其他日志
        • 1.5.1 /var/log/cron
        • 1.5.2 ‌/var/log/mail.log
        • 1.5.3 ‌/var/log/yum.log
    • 2 查看日志常用方法说明
      • 2.1 基础命令
      • 2.2 专用工具
        • 2.2.1 journalctl‌
        • 2.2.2 dmesg‌
      • 2.3 实时监控
    • 3 注意事项
    • 4 参考文献


写在前面:Linux 系统日志有哪些作用

Linux 系统日志记录了系统的关键状态信息,是系统运行监测的重要组成部分。作为运维人员或机器管理员熟练的掌握系统日志的作用及使用查看方式,对我们进行故障排查(系统启动、服务异常、硬件错误等信息,便于定位问题)、安全审计(追踪用户登录、权限变更、可疑行为等,检测未授权访问)、‌行为追踪(记录用户操作、定时任务执行、服务运行状态等)及‌性能监控‌(分析系统资源使用情况、网络活动等)等具有重要的指引,能够有效快速的帮助我们去定位并解决问题。


1 Linux 系统日志分类及功能

1.1 通用日志

1.1.1 ‌/var/log/messages
  • 功能: 记录系统级通用信息(如启动、服务错误、硬件事件)‌
  • 查看方式: cat /var/log/messages 或 less /var/log/messages
  • 结果展示: 如下
Apr 17 10:15:14 xxx-server systemd: Device dev-disk-by\x2dpartlabel-primary.device appeared twice with different sysfs paths /sys/devices/pci0000:00/0000:00:01.0/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda2 and /sys/devices/pci0000:00/0000:00:01.0/0000:03:00.0/host0/target0:1:0/0:1:0:1/block/sdb/sdb1
Apr 17 10:15:14 xxx-server systemd: Device dev-disk-by\x2dpartlabel-primary.device appeared twice with different sysfs paths /sys/devices/pci0000:00/0000:00:01.0/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda2 and /sys/devices/pci0000:00/0000:00:01.0/0000:03:00.0/host0/target0:1:0/0:1:0:0/block/sda/sda4
Apr 17 10:25:01 xxx-server systemd: Created slice user-991.slice.
Apr 17 10:25:01 xxx-server systemd: Starting user-991.slice.
Apr 17 10:25:01 xxx-server systemd: Starting Session 614006 of user root.
Apr 17 10:25:01 xxx-server systemd: Removed slice user-991.slice.
Apr 17 10:25:01 xxx-server systemd: Stopping user-991.slice.
1.1.2 ‌/var/log/syslog
  • 功能: 存储全局系统活动(网络事件、服务日志等),Ubuntu 等发行版的核心日志‌
  • 查看方式: tail -f /var/log/syslog(实时跟踪)

1.2 安全相关日志

1.2.1 ‌/var/log/auth.log‌(Debian/Ubuntu)或 ‌/var/log/secure‌(RHEL/CentOS)
  • 功能: 记录用户登录、SSH 连接、sudo 操作等身份验证事件‌
  • 查看方式: grep "Failed" /var/log/auth.log (过滤失败登录)
  • 结果展示: /var/log/secure
Apr 17 10:30:01 xxx-server su:    root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/timeout 240 /bin/python2 /usr/local/xxx/xxx/xxx.py -u
Apr 17 10:36:37 xxx-server sss[20994]: Accepted password for zhangsan1 from 1.1.1.1 port 3183398 ssh2
Apr 17 10:36:37 xxx-server sss[20994]: pam_unix(sss:session): session opened for user zhangsan1 by (uid=0)
Apr 17 10:36:37 xxx-server sss[20994]: pam_sss(sss:session): Request to sssd failed. Connection refused
Apr 17 10:36:43 xxx-server sudo: zhangsan1 : TTY=pts/1 ; PWD=/home/xxx/zhangsan1 ; USER=root ; COMMAND=/bin/su -
Apr 17 10:36:43 xxx-server su: pam_unix(su-l:session): session opened for user root by zhangsan1(uid=0)
Apr 17 10:37:59 xxx-server sss[36641]: Received disconnect from 1.1.1.1: 11: disconnected by user
Apr 17 10:37:59 xxx-server su: pam_unix(su-l:session): session closed for user root
1.2.2 /var/log/audit/audit.log
  • 功能: 存储 SELinux 或安全策略触发的审计事件‌
  • 查看方式: ausearch 或直接查看文件

1.3 启动与内核日志

1.3.1 /var/log/boot.log
  • 功能: 系统启动过程的详细记录(服务加载、初始化脚本)‌
  • 查看方式: journalctl -b(通过 systemd 查看)
1.3.2 /var/log/dmesg
  • 功能: 内核启动时的硬件和驱动信息‌
  • 普通查看: dmesg | less 或直接查看文件
  • 带时间戳查看: 代码如下
dmesg_with_human_timestamps () {
    $(type -P dmesg) "$@" | perl -w -e 'use strict;
        my ($uptime) = do { local @ARGV="/proc/uptime";<>}; ($uptime) = ($uptime =~ /^(\d+)\./);
        foreach my $line (<>) {
            printf( ($line=~/^\[\s*(\d+)\.\d+\](.+)/) ? ( "[%s]%s\n", scalar localtime(time - $uptime + $1), $2 ) : $line )
        }'
}
alias dmesg=dmesg_with_human_timestamps
  • 日志信息: 如下图
    在这里插入图片描述

1.4 用户与登录日志

1.4.1 /var/log/wtmp
  • 功能: 永久记录用户登录、注销及系统启动/关机事件‌
  • 查看方式: last 命令,可配合grep使用
last 参数说明:
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f <记录文件>  指定记录文件。
-n <显示列数>或-<显示列数>  设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息

日志展示:
zhangsan1 pts/1        server. Thu Apr 17 10:36   still logged in   
zhangsan1 pts/0        server. Thu Apr 17 10:14 - 10:37  (00:23)    
zhangsan1 pts/0        server. Mon Apr 14 19:11 - 19:35  (00:24)    
zhangsan1 pts/1        server. Mon Apr 14 14:22 - 18:15  (03:52)    
zhangsan1 pts/0        server. Mon Apr 14 14:22 - 18:15  (03:52)    
zhangsan1 pts/1        server. Mon Apr 14 12:49 - 13:08  (00:18)    
zhangsan1 pts/0        server. Mon Apr 14 12:45 - 13:07  (00:22)    
zhangsan1 pts/0        server. Mon Apr 14 10:50 - 11:49  (00:58)    
zhangsan1 pts/1        server. Sun Apr 13 23:01 - 23:53  (00:51)    
zhangsan1 pts/0        server. Sun Apr 13 20:04 - 23:14  (03:09)    
chensan2 pts/0        server. Wed Apr  9 11:36 - 14:43  (03:07)   
1.4.2 /var/log/btmp
  • 功能: 记录失败的登录尝试‌
  • 查看方式: lastb 命令
1.4.3 /var/log/lastlog
  • 功能: 显示用户最后一次登录的时间及来源‌
  • 查看方式: lastlog 命令

1.5 其他日志

1.5.1 /var/log/cron
  • 功能: 定时任务(cron)的执行记录‌
  • 查看方式: grep "CRON" /var/log/syslog(部分系统)
1.5.2 ‌/var/log/mail.log
  • 功能: 邮件服务(如 Postfix)的收发日志‌
  • 查看方式: tail /var/log/mail.log
1.5.3 ‌/var/log/yum.log
  • 功能: 使用yum安装软件包的相关日志
  • 查看方式: tail /var/log/yum.log

2 查看日志常用方法说明

2.1 基础命令

  • cat/less/tail:直接查看文件内容,如 tail -n 50 /var/log/syslog

  • grep:过滤关键词,如 grep “error” /var/log/messages‌

    更加系统的了解更多文件处理命令,请移步《 Linux日志处理命令完全解构:从文件读取原理到百万级日志性能调优》

2.2 专用工具

2.2.1 journalctl‌
  • 命令说明:journalctl 是 Linux 系统中用于查询和管理 systemd 日志的核心工具,支持对系统日志、内核日志、服务单元日志等进行高效检索和分析。其日志数据以二进制格式存储,支持动态过滤、时间范围筛选和多条件组合查询,适用于系统运维、故障排查及性能监控等场景‌
  • 命令使用
    • journalctl [选项] [筛选条件]
    • 参数说明
	-n <行数>	# 显示最近的指定行数日志(如 -n 20 显示最近20条日志)‌
	-f	# 实时跟踪最新日志(类似 tail -f)‌
	-u <服务名>	# 查看指定服务的日志(如 -u nginx.service)‌
	-k	# 仅显示内核日志‌
	-p <优先级>	# 按日志优先级过滤(如 -p err 显示错误级别日志)‌
	--since <时间>	# 指定起始时间(如 --since "2025-04-19 09:00:00")‌
	--until <时间>	# 指定结束时间(如 --until "1 hour ago")‌
	-b [IDX]	# 查看特定启动周期的日志(-b -1 表示上一次启动的日志)‌
	_COMM=<进程名>	# 按进程名称过滤(如 _COMM=sshd 查看 SSH 进程日志)‌
  • 使用场景
    • journalctl -f # 查看实时日志‌
    • journalctl -u docker # 查看服务单元日志
    • journalctl --since "08:00" --until "11:00" -p err # 筛选时间范围内的错误日志
    • journalctl -b -1 -p 0..3 # 分析启动问题‌(查看上一次启动的错误日志)
2.2.2 dmesg‌
  • dmesg‌:实时查看内核消息,如 dmesg --follow

2.3 实时监控

  • ausearch:分析审计日志(需安装 auditd 服务)‌

3 注意事项

  1. 不同发行版日志路径可能不同(如 Debian 用 auth.log,RHEL 用 secure)‌
  2. 需要 root 权限查看部分日志(如 /var/log/secure)‌
  3. 日志轮转机制(logrotate)可能影响历史日志的存储周期‌

4 参考文献

文献1|文献2|文献3|文献4|文献5


写在最后

以上是关于 Linux 系统日志的分析与整理(可能不全),希望能够帮助大家理清思路,对 Linux 的系统日志有更加深入的了解,同时如果有错误,也欢迎大家的评论指正,共同进步!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2340450.html

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

相关文章

机器学习-08-关联规则更新

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中关联规则和协同过滤。 参考 机器学习&#xff08;三&#xff09;&#xff1a;Apriori算法&#xff08;算法精讲&#xff09; Apriori 算法 理论 重点 【手撕算法】【Apriori】关联规则Apriori原理、代码…

Flutter与FastAPI的OSS系统实现

作者&#xff1a;孙嘉成 目录 一、对象存储 二、FastAPI与对象存储 2.1 缤纷云S4服务API对接与鉴权实现 2.2 RESTful接口设计与异步路由优化 三、Flutter界面与数据交互开发 3.1 应用的创建 3.2页面的搭建 3.3 文件的上传 关键词&#xff1a;对象存储、FastAPI、Flutte…

Kubernetes控制平面组件:API Server详解(二)

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…

MySQL-锁机制3-意向共享锁与意向排它锁、死锁

文章目录 一、意向锁二、死锁应该如何避免死锁问题&#xff1f; 总结 一、意向锁 在表获取共享锁或者排它锁时&#xff0c;需要先检查该表有没有被其它事务获取过X锁&#xff0c;通过意向锁可以避免大量的行锁扫描&#xff0c;提升表获取锁的效率。意向锁是一种表级锁&#xf…

报告系统状态的连续日期 mysql + pandas(连续值判断)

本题用到知识点&#xff1a;row_number(), union, date_sub(), to_timedelta()…… 目录 思路 pandas Mysql 思路 链接&#xff1a;报告系统状态的连续日期 思路&#xff1a; 判断连续性常用的一个方法&#xff0c;增量相同的两个列的差值是固定的。 让日期与行号 * 天数…

Tailwind 武林奇谈:bg-blue-400 失效,如何重拾蓝衣神功?

前言 江湖有云,Tailwind CSS,乃前端武林中的轻功秘籍。习得此技,排版如行云流水,配色似御风随形,收放自如,随心所欲。 某日,小侠你奋笔敲码,正欲施展“蓝衣神功”(bg-blue-400),让按钮怒气冲冠、蓝光满面,怎料一招使出,画面竟一片白茫茫大地真干净,毫无半点杀气…

开始放飞之先搞个VSCode

文章目录 开始放飞之先搞个VSCode重要提醒安装VSCode下载MinGW-w64回到VSCode中去VSCode原生调试键盘问题遗留问题参考文献 开始放飞之先搞个VSCode 突然发现自己的新台式机上面连个像样的编程环境都没有&#xff0c;全是游戏了&#xff01;&#xff01;&#xff01;&#xff…

基于SA模拟退火算法的车间调度优化matlab仿真,输出甘特图和优化收敛曲线

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于SA模拟退火算法的车间调度优化matlab仿真,输出甘特图和优化收敛曲线。输出指标包括最小平均流动时间&#xff0c;最大完工时间&#xff0c;最小间隙时间。 2…

【仿Mudou库one thread per loop式并发服务器实现】SERVER服务器模块实现

SERVER服务器模块实现 1. Buffer模块2. Socket模块3. Channel模块4. Poller模块5. EventLoop模块5.1 TimerQueue模块5.2 TimeWheel整合到EventLoop5.1 EventLoop与线程结合5.2 EventLoop线程池 6. Connection模块7. Acceptor模块8. TcpServer模块 1. Buffer模块 Buffer模块&…

uniapp h5接入地图选点组件

uniapp h5接入地图选点组件 1、申请腾讯地图key2、代码接入2.1入口页面 &#xff08;pages/map/map&#xff09;templatescript 2.2选点页面&#xff08;pages/map/mapselect/mapselect&#xff09;templatescript 该内容只针对uniapp 打包h5接入地图选点组件做详细说明&#x…

【随缘更新,免积分下载】Selenium chromedriver驱动下载(最新版135.0.7049.42)

目录 一、chromedriver概述 二、chromedriver使用方式 三、chromedriver新版本下载&#x1f525;&#x1f525;&#x1f525; 四、Selenium与Chrome参数设置&#x1f525;&#x1f525; 五、Selenium直接操控已打开的Chrome浏览器&#x1f525;&#x1f525;&#x1f525;…

jenkins批量复制Job项目的shell脚本实现

背景 现在需要将“测试” 目录中的所有job全部复制到 一个新目录中 test2。可以结合jenkins提供的apilinux shell 进行实现。 测试目录的实际文件夹名称是 test。 脚本运行效果如下&#xff1a; [qdevsom5f-dev-hhyl shekk]$ ./copy_jenkins_job.sh 创建文件夹 test2 获取源…

iOS Google登录

iOS Google登录 SDK下载地址在 Firebase 有下载&#xff0c;要下载整个SDK文件&#xff0c;然后拿其中的Google 登录SDK来使用 Firebase 官方文档 github 下载链接

嵌入式工程师( C / C++ )笔试面试题汇总

注&#xff1a;本文为 “嵌入式工程师笔试面试题” 相关文章合辑。 未整理去重。 如有内容异常&#xff0c;请看原文。 嵌入式必会 C 语言笔试题汇总 Z 沉浮 嵌入式之旅 2021 年 01 月 19 日 00:00 用预处理指令 #define 声明一个常数&#xff0c;用以表明 1 年中有多少秒&a…

重构便携钢琴专业边界丨特伦斯便携钢琴V30Pro定义新一代便携电钢琴

在便携电钢琴领域&#xff0c;特伦斯推出的V30Pro折叠钢琴以"技术革新场景适配"的双重升级引发关注。这款产品不仅延续了品牌标志性的折叠结构&#xff0c;更通过声学系统重构与智能交互优化&#xff0c;重新定义了便携乐器的专业边界。 ▶ 核心特点&#xff1a;技术…

DiffuRec: A Diffusion Model for Sequential Recommendation

DiffuRec: A Diffusion Model for Sequential Recommendation Background 序列推荐&#xff08;Sequential Recommendation, SR&#xff09;领域&#xff0c;主流方法是将用户与物品表示为fixed embedding。然而&#xff0c;这种静态向量表达方式难以全面刻画用户多样化的兴趣…

多模态大语言模型arxiv论文略读(三十三)

Jailbreaking Attack against Multimodal Large Language Model ➡️ 论文标题&#xff1a;Jailbreaking Attack against Multimodal Large Language Model ➡️ 论文作者&#xff1a;Zhenxing Niu, Haodong Ren, Xinbo Gao, Gang Hua, Rong Jin ➡️ 研究机构: Xidian Univer…

IntelliJ IDEA download JDK

IntelliJ IDEA download JDK 自动下载各个版本JDK&#xff0c;步骤 File - Project Structure &#xff08;快捷键 Ctrl Shift Alt S&#xff09; 如果下载失败&#xff0c;换个下载站点吧。一般选择Oracle版本&#xff0c;因为java被Oracle收购了 好了。 花里胡哨&#…

计算机网络——常见的网络攻击手段

什么是XSS攻击&#xff0c;如何避免? XSS 攻击&#xff0c;全称跨站脚本攻击&#xff08;Cross-Site Scripting&#xff09;&#xff0c;这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆&#xff0c;因此有人将跨站脚本攻击缩写为XSS。它指的是恶意攻击者往Web页面…

面向对象设计中的类的分类:实体类、控制类和边界类

目录 前言1. 实体类&#xff08;Entity Class&#xff09;1.1 定义和作用1.2 实体类的特点1.3 实体类的示例 2. 控制类&#xff08;Control Class&#xff09;2.1 定义和作用2.2 控制类的特点2.3 控制类的示例 3. 边界类&#xff08;Boundary Class&#xff09;3.1 定义和作用3…