⽇志管理与深层防⽕墙

⽇志就像是系统或程序的"⽇记本",会⾃动记录发⽣的事情,⽐如出错了、谁来访问了、做了什么 操作等。这些记录会保存起来,⽅便我们事后查看,就像查监控录像⼀样

看日志的命令journalctl

journalctl 是 systemd 系统里统一看日志的命令,把系统、内核、所有服务的日志都集中在一起,方便查错、排障、审计

基础查看

复制代码
journalctl            # 所有日志(从旧到新,分页)
journalctl -f          # 实时滚动(类似 tail -f)
journalctl -n 20       # 最新 20 行
journalctl --no-pager  # 不分页,一次性输出(脚本常用)

按服务过滤

复制代码
journalctl -u nginx.service   # 只看 nginx 日志
journalctl -u docker           # 服务名可省略 .service
journalctl -u sshd -f         # 实时看 ssh 日志

按启动(boot)过滤(查 "重启后才坏" 的问题)

复制代码
journalctl --list-boots   # 列出历次启动记录(boot id + 时间)
journalctl -b              # 本次启动后的日志
journalctl -b -1           # 上一次启动的日志(重启前)
journalctl -b -2           # 上上次

按时间过滤(查某个时间段问题)

复制代码
journalctl --since "1 hour ago"
journalctl --since "today"
journalctl --since "yesterday"
journalctl --since "2026-05-20 10:00:00" --until "2026-05-20 12:00:00"

按日志级别(只看错误 / 警告)

复制代码
journalctl -p err        # 只看 error
journalctl -p warning     # 警告+错误
journalctl -p err -b      # 本次启动的所有错误

rsyslog

    1. 收集:本地所有程序(sshd、nginx、内核等)+ 网络设备发来的日志rsyslog
    2. 过滤:按 "来源 + 级别" 分类(如 auth 错误、kern 警告)
    3. 存储:写到 /var/log/ 下各类文件(messages、secure、cron...)
    4. 转发:把日志发给远程服务器(集中日志服务器)、数据库、Kafka、ES 等rsyslog
  • 特点:高性能、多线程、支持 TCP/TLS 可靠传输、磁盘队列防丢日志

    dnf -y install rsyslog

系统日志收集 / 转发 / 存储服务 ,后台进程 rsyslogd

写日志的命令logger

logger = Linux 系统里「手动往系统日志里写一条消息」的命令 就是你自己造一条日志 ,让它出现在 /var/log/messagesjournalctl

使用logger打印日志到另一个终端

复制代码
logger "This is a test log message"

tail -f /var/log/messages 查看日志

复制代码
tail -f /var/log/messages

常用日志

查看用户登录错误的日志

复制代码
lastb

查看所有⽤⼾登录、注销以及系统启动 重启 关机事件⽇志

复制代码
last

查看当前已经登录的⽤⼾信息

查看⽤⼾最后⼀次登录时间的⽇志

把所有服务的"临界点"以上的错误都保存在/var/log/crit.log 日志

复制代码
vim /etc/rsyslog.conf

添加一条规则

复制代码
*.crit /var/log/crit.log

重启一下

复制代码
systemctl restart rsyslog
systemctl status rsyslog

验证测试

复制代码
#模拟crit级别错误
logger -p crit "crit error in system"

tail -10f /var/log/crit.log
相关推荐
小灰灰搞电子12 小时前
Rust+Slint 实现动态消息提示框源码分享
开发语言·后端·rust
魏 无羡12 小时前
webclient
java·webclient
神仙别闹13 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
传奇开心果编程13 小时前
【Rust入门知识点学与练】第21课:Trait 进阶 Advanced Traits
开发语言·学习·rust
新时代牛马13 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
swordbob14 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
m0_5873830014 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析
白山编程大哥14 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
shmily麻瓜小菜鸡15 小时前
JavaScript / TypeScript 易踩坑知识点 —— 异步编程类
开发语言·javascript·typescript
一技安身15 小时前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka