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

小白畅通Linux之旅-----Linux日志管理

文章目录

  • 一、Linux日志系统概述
    • 1、日志的重要性
    • 2、日志分类
  • 二、核心日志管理工具
    • 1、syslog(传统系统日志)
      • (1)配置文件
      • (2)配置语法
      • (3)优先级说明
      • (4)应用场景
    • 2、rsyslog(增强型系统日志)
      • (1)核心特性
      • (2)配置文件结构
      • (3)高级功能配置示例
      • (4)应用场景
    • 3、journald(systemd日志系统)
      • (1)核心特性
      • (2)配置文件
      • (3)常用配置参数
      • (4)常用命令
      • (5)应用场景
    • 4、logrotate(日志轮转)
      • (1)配置文件
      • (2)典型配置示例
      • (3)核心参数说明
      • (4)手动执行
      • (5)应用场景

一、Linux日志系统概述

1、日志的重要性

  • 系统状态监控
  • 故障排查定位
  • 安全审计分析
  • 性能优化依据
  • 合规性要求满足

2、日志分类

存储位置典型内容
系统日志/var/log/messages内核、系统服务通用日志
认证日志/var/log/secure用户登录、sudo操作记录
启动日志/var/log/boot.log系统启动过程记录
内核日志/var/log/kern.log内核相关事件
计划任务日志/var/log/croncron任务执行记录
邮件日志/var/log/maillog邮件系统相关操作
应用程序日志/var/log/{application}/各应用程序专用日志

二、核心日志管理工具

1、syslog(传统系统日志)

(1)配置文件

/etc/syslog.conf

(2)配置语法

# 格式:设备.优先级 动作
auth.*       /var/log/auth.log
*.emerg     *
mail.err    /var/log/mail.err

(3)优先级说明

优先级数值说明
emerg0系统不可用
alert1需要立即采取行动
crit2严重情况
err3错误条件
warn4警告条件
notice5正常但重要的事件
info6信息性消息
debug7调试级信息

(4)应用场景

  • 传统Linux系统日志管理
  • 兼容性要求高的环境
  • 简单日志收集需求

2、rsyslog(增强型系统日志)

(1)核心特性

  • 支持TCP/UDP传输
  • 日志内容过滤
  • 模板化输出
  • 高性能队列处理
  • 支持MySQL/PostgreSQL存储

(2)配置文件结构

/etc/rsyslog.con

# 模块加载
$ModLoad imuxsock # 本地系统日志
$ModLoad imklog   # 内核日志# 模板定义
$template MyTemplate,"%timestamp% %hostname% %syslogtag% %msg%\n"# 规则配置
*.info;mail.none;authpriv.none  /var/log/messages
authpriv.*                      /var/log/secure# 远程日志配置
*.* @192.168.1.100:514

(3)高级功能配置示例

  1. 日志存储到MySQL:
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,password
  1. 日志文件切割:
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755

(4)应用场景

  • 企业级日志集中管理
  • 需要结构化存储的环境
  • 高并发日志处理场景

3、journald(systemd日志系统)

(1)核心特性

  • 二进制日志存储
  • 结构化日志记录
  • 实时日志查询
  • 与systemd深度集成

(2)配置文件

/etc/systemd/journald.conf

(3)常用配置参数

[Journal]
Storage=persistent          # 存储方式(persistent/volatile)
Compress=yes                # 启用压缩
SystemMaxUse=1G             # 最大磁盘使用量
SystemMaxFileSize=100M      # 单个文件最大尺寸
MaxRetentionSec=1month      # 日志保留时间

(4)常用命令

# 实时日志监控
journalctl -f# 按服务查询
journalctl -u nginx.service# 结构化显示
journalctl -o json-pretty# 时间范围查询
journalctl --since "2023-07-01" --until "2023-07-10"

(5)应用场景

  • 使用systemd的系统
  • 需要结构化日志分析
  • 实时日志监控需求

4、logrotate(日志轮转)

(1)配置文件

/etc/logrotate.conf

应用特定配置:/etc/logrotate.d/

(2)典型配置示例

/var/log/firewalld {weeklymissingokrotate 4copytruncateminsize 1M
}

(3)核心参数说明

作用
daily/weekly轮转周期
rotate N保留历史文件数量
compress启用gzip压缩
delaycompress延迟压缩前一个日志文件
size 100M按大小触发轮转
missingok文件不存在时不报错
create 0640 user group新日志文件权限设置

(4)手动执行

logrotate -vf /etc/logrotate.d/bgubx

(5)应用场景

  • 防止日志文件过大
  • 自动化日志归档
  • 符合存储策略要求
http://www.xdnf.cn/news/715933.html

相关文章:

  • 【芯片设计中的交通网络革命:Crossbar与NoC架构的博弈C架构的博弈】
  • 在Linux环境里面,Python调用C#写的动态库,如何实现?
  • Java集合操作常见错误与最佳实践
  • OSCP备战-SickOs1.2靶场详细步骤
  • 第九章 MQTT报文
  • C primer plus (第六版)第六章 编程练习第10题
  • 关于《DAHSF》即《火小兔智慧开发平台V2.0》的碎碎念
  • ADC同步采样
  • XMOS以全新智能音频及边缘AI技术亮相广州国际专业灯光音响展
  • 【NebulaGraph】查询案例(七)
  • 两个频率比较接近的简谐振动叠加后会产生拍形
  • C#学习:基于LLM的简历评估程序
  • 4. 算法与分析 (1)
  • 【Dify系列教程重置精品版】第十一章:Dify与slenium
  • Flutter下的一点实践
  • 手动移植FreeRTOS
  • 用 Python 模拟雪花飘落效果
  • Oracle 临时表空间详解
  • Oracle的NVL函数
  • 前端面试题-HTML篇
  • C++:栈帧、命名空间、引用
  • 第三章:地下三层的技术遗产
  • JaCoCo 是什么
  • 系统架构设计师案例分析----经典架构风格特点
  • 挡片/测试晶圆(Dummy Wafer)通俗解析
  • 非线性声学计算与强化学习融合框架:突破复杂环境人机交互的新技术
  • C++进阶--C++11(04)
  • Golang 配置国内代理
  • Android高级开发第二篇 - JNI 参数传递与 Java → C → Java 双向调用
  • 【第4章 图像与视频】4.5 操作图像的像素