⽇志管理与深层防⽕墙

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

看日志的命令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
相关推荐
麻瓜生活睁不开眼1 小时前
Android16修改全局桌面视图边框四直角显示为弧边圆角
android·java·深度学习
dear_bi_MyOnly2 小时前
【MyBatis 操作数据库】
java·数据库·学习·mybatis·学习方法
Wang's Blog2 小时前
Go-Zero 项目开发43:基于 Filebeat 收集各个服务的日志信息
开发语言·golang·go-zero·filebeat
2601_953720822 小时前
【计算机毕业设计】基于Spring Boot的心理健康咨询与评测系统的设计与实现
java·spring boot·后端
丈剑走天涯3 小时前
JDK 17 正式特性
java·开发语言
秋田君3 小时前
QT_QFontDialog类字体对话框
开发语言·qt
圣光SG3 小时前
Java操作题练习(七)
java·开发语言·算法
whyfail4 小时前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
麻瓜老宋4 小时前
AI开发C语言应用按步走,表达式计算器calc的第二十三步,多行输入、进制输出、错误恢复、常量折叠、配置加载等
c语言·开发语言·atomcode
q567315235 小时前
企业级 HTTP 代理采购选型:技术评估清单 15 项
开发语言·网络·爬虫·网络协议·http·隧道ip·代理ip