⽇志管理与深层防⽕墙

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

看日志的命令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 小时前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马14 小时前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户37215742613514 小时前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户37215742613514 小时前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454751 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程
昵称为空C1 天前
手撸一个动态 SQL 执行引擎:不重启服务,在线增删改查任意数据库
spring boot·后端
东坡白菜1 天前
破局全栈:一个前端开发的Java入门实战记录(1)
java·全栈
唐青枫1 天前
Java Tomcat 实战指南:从 Servlet 容器到 Spring Boot 部署
java
wsaaaqqq1 天前
roudan:自由选择实体、灵活操作数据、快速写入数据库的 Java 框架
java
plainGeekDev2 天前
null 判断 → Kotlin 可空类型
android·java·kotlin