当前位置: 首页 > news >正文

Linux系统日志分析与存储

在 Linux系统管理中,日志分析与存储是故障排除的核心。

一、RHEL 日志架构

RHEL 日志基于 Syslog 协议,由两大核心服务构成:

  • systemd-journald:日志架构核心,捕获内核、引导、守护进程等几乎所有事件,存于带索引的二进制数据库,默认存 /run/log(内存,重启清除)。

  • rsyslog:从前者读取日志,按优先级分类存储到指定文件。

日志文件集中在 /var/log 目录,常用类型如下:

日志文件存储消息类型
/var/log/messages多数系统日志(排除身份验证、邮件等)
/var/log/secure安全与身份验证事件(如 SSH 登录)
/var/log/maillog邮件服务器相关消息
/var/log/cron定时作业执行记录
/var/log/boot.log系统启动非 syslog 控制台消息

二、syslog 日志管理

1. 日志优先级与配置

rsyslog 定义 8 个优先级(从高到低:emerg、alert、crit、err、warning、notice、info、debug),配置由 /etc/rsyslog.conf(全局)和 /etc/rsyslog.d/*.conf(个性化)控制,按规则将不同优先级日志存到对应文件。

2. 日志轮转与分析

  • 日志轮转logrotate 工具重命名旧日志、创建新日志,默认保留 4 次轮转记录,防止磁盘占满,每日自动运行。

  • 条目分析:日志含时间戳、主机名、程序与 PID、具体信息,如 /var/log/secure 中登录失败记录,可快速定位故障。

3. 日志监控与手动发送

  • 实时监控用 tail -f /路径/日志文件,如 tail -f /var/log/secure

  • 手动发日志用 logger 命令,-p 选项指定类型和优先级,如 logger -p local7.notice "自定义消息"

三、system journal 日志管理

1. 日志查看

用 journalctl 命令(建议 root 执行),常用选项:

  • 看最近 N 条:journalctl -n N;实时刷新:journalctl -f

  • 按优先级过滤:journalctl -p 优先级;按服务过滤:journalctl -u 服务名

  • 按时间过滤:journalctl --since "时间1" --until "时间2"

2. 永久保存配置

默认临时存储,需修改 /etc/systemd/journald.conf 中 Storage 参数:

  • persistent:存 /var/log/journalvolatile:存 /run/log/journalauto(默认):依目录存在情况判断。

  • 修改后重启 systemd-journald 服务,系统重启后创建 /var/log/journal 目录。

四、系统时间维护

1. 时区管理

用 timedatectl 命令:

  • 看时间与时区:timedatectl;列时区:timedatectl list-timezones

  • 设置时区:timedatectl set-timezone 时区名;手动设时间:timedatectl set-time "HH:MM:SS"

2. 时间同步

chronyd 服务通过 NTP 协议同步时间:

  • 看同步状态:chronyc sources -v;配置 NTP 服务器编辑 /etc/chrony.conf

  • 重启服务:systemctl restart chronyd;开启 NTP 同步:timedatectl set-ntp true

五、核心总结

  1. systemd-journald 与 rsyslog 协同管理日志,日志集中在 /var/log

  2. journalctl 查 system journal 日志,需配置实现永久保存;

  3. timedatectl 管时区,chronyd 做时间同步,保障日志时间戳准确;

  4. logrotate 轮转日志,分析日志条目是故障排除关键。

http://www.dtcms.com/a/352562.html

相关文章:

  • 机器学习:前篇
  • 从行业智能体到一站式开发平台,移动云推动AI智能体规模化落地
  • 产品经理操作手册(3)——产品需求文档
  • Duplicate Same Files Searcher v10.7.0,秒扫全盘重复档,符号链接一键瘦身
  • 【软件测试面试】全网最全,自动化测试面试题总结大全(付答案)
  • 告别出差!蓝蜂物联网网关让PLC程序远程修改零延迟
  • 二、JVM 入门 —— (四)堆以及 GC
  • 渗透测试术语大全(超详细)
  • C++ STL 顶层设计与安全:迭代器、失效与线程安全
  • 【C++游记】栈vs队列vs优先级队列
  • 算法编程实例-快乐学习
  • 随机森林实战:在鸢尾花数据集上与决策树和逻辑斯蒂回归进行对比
  • AI安全监控与人才需求的时间悖论(对AI安全模型、AI安全人才需求的一些思考)
  • AIDL和HIDL的AudioHal对比
  • Maya绑定基础: FK 和 IK 介绍和使用
  • lottie动画动态更改切图添加事件
  • 五自由度磁悬浮轴承:精准狙击转子质量不平衡引发的同频振动
  • pycharm 远程连接服务器报错
  • NeRAF、ImVid论文解读
  • 2007-2022年上市公司企业关联交易数据
  • 面向对象爬虫架构设计:构建高复用、抗封禁的爬虫系统​
  • 工业数据消费迎来“抖音式”革命:TDengine IDMP 让数据自己开口说话
  • 利用 Java 爬虫按关键字搜索 1688 商品详情 API 返回值说明实战指南
  • 如何在360极速浏览器中调出底部状态栏
  • Wireshark和USRP捕获同一信号波形差异原因
  • MQ 最终一致性实现跨库转账
  • ArcGIS学习-11 实战-商场选址
  • 【Vue3】Cesium实现雨雪效果
  • onnx入门教程(五)——实现 PyTorch-ONNX 精度对齐工具
  • 子串:和为K的子数组