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

零基础开始的网工之路第十六天------Linux日志管理

目录

一、Linux日志系统概述

1.1 日志的重要性

1.2 日志分类

二、核心日志管理工具

2.1 syslog(传统系统日志)

2.1.1 配置文件

2.1.2 配置语法

2.1.3 优先级说明

2.1.4 应用场景

2.2 rsyslog(增强型系统日志)

2.2.1 核心特性

2.2.2 配置文件结构

2.2.3 高级功能配置示例

2.2.4 应用场景

2.3 journald(systemd日志系统)

2.3.1 核心特性

2.3.2 配置文件

2.3.3 常用配置参数

2.3.4 常用命令

2.3.5 应用场景

2.4 logrotate(日志轮转)

2.4.1 配置文件

2.4.2 典型配置示例

2.4.3 核心参数说明

2.4.4 手动执行

2.4.5 应用场景

三、高级日志管理方案

3.1 ELK Stack(分布式日志)

3.1.1 典型架构

3.1.2 Filebeat配置示例

3.2 auditd(安全审计)

3.2.1 核心配置文件

3.2.2 审计规则配置

3.2.3 审计日志查询


一、Linux日志系统概述

1.1 日志的重要性

  • 系统状态监控

  • 故障排查定位

  • 安全审计分析

  • 性能优化依据

  • 合规性要求满足

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}/各应用程序专用日志

二、核心日志管理工具

2.1 syslog(传统系统日志)

2.1.1 配置文件

/etc/syslog.conf

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

例:

[root@bogon ~]#  vim /etc/rsyslog.conf
# rsyslog configuration file
​
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# or latest version online at http://www.rsyslog.com/doc/rsyslog_conf.html 
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
​
#### GLOBAL DIRECTIVES ####
​
# Where to place auxiliary files
global(workDirectory="/var/lib/rsyslog")
​
# Use default timestamp format
module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")
​
#### MODULES ####
​
module(load="imuxsock"    # provides support for local system logging (e.g. via logger command)

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

  • 兼容性要求高的环境

  • 简单日志收集需求


2.2 rsyslog(增强型系统日志)

2.2.1 核心特性
  • 支持TCP/UDP传输

  • 日志内容过滤

  • 模板化输出

  • 高性能队列处理

  • 支持MySQL/PostgreSQL存储

2.2.2 配置文件结构

/etc/rsyslog.conf

[root@bogon ~]#  vim /etc/rsyslog.conf
# rsyslog configuration file
​
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# or latest version online at http://www.rsyslog.com/doc/rsyslog_conf.html 
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
​
#### GLOBAL DIRECTIVES ####
​
# Where to place auxiliary files
global(workDirectory="/var/lib/rsyslog")
​
# Use default timestamp format
module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")
​
#### MODULES ####
​
module(load="imuxsock"    # provides support for local system logging (e.g. via logger command)
2.2.3 高级功能配置示例
  1. 日志存储到MySQL:

$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,password
  1. 日志文件切割:

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
2.2.4 应用场景
  • 企业级日志集中管理

  • 需要结构化存储的环境

  • 高并发日志处理场景


2.3 journald(systemd日志系统)

2.3.1 核心特性
  • 二进制日志存储

  • 结构化日志记录

  • 实时日志查询

  • 与systemd深度集成

2.3.2 配置文件

/etc/systemd/journald.conf

2.3.3 常用配置参数
[Journal]
Storage=persistent          # 存储方式(persistent/volatile)
Compress=yes                # 启用压缩
SystemMaxUse=1G             # 最大磁盘使用量
SystemMaxFileSize=100M      # 单个文件最大尺寸
MaxRetentionSec=1month      # 日志保留时间
2.3.4 常用命令
# 实时日志监控
journalctl -f或-xe
​
# 按服务查询
journalctl -u nginx.service
​
# 结构化显示
journalctl -o json-pretty
​
# 时间范围查询
journalctl --since "2023-07-01" --until "2023-07-10"

-xe

[root@bogon log]# journalctl -xe
░░ Support: https://wiki.rockylinux.org/rocky/support
░░ 
░░ The unit NetworkManager-dispatcher.service has successfully entered the '>
5月 29 19:39:55 bogon systemd[1]: Starting PackageKit Daemon...
░░ Subject: packagekit.service 单元已开始启动
░░ Defined-By: systemd
░░ Support: https://wiki.rockylinux.org/rocky/support
░░ 
░░ packagekit.service 单元已开始启动。
5月 29 19:39:55 bogon PackageKit[160750]: daemon start
5月 29 19:39:55 bogon systemd[1]: Started PackageKit Daemon.
░░ Subject: packagekit.service 单元已结束启动
░░ Defined-By: systemd
░░ Support: https://wiki.rockylinux.org/rocky/support
░░ 
░░ packagekit.service 单元已结束启动。
░░ 
░░ 启动结果为“done”。
5月 29 19:39:57 bogon PackageKit[160750]: search-file transaction /78_dbcaeb>

2.3.5 应用场景
  • 使用systemd的系统

  • 需要结构化日志分析

  • 实时日志监控需求


2.4 logrotate(日志轮转)

2.4.1 配置文件

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

2.4.2 典型配置示例
/var/log/nginx/*.log {dailymissingokrotate 30compressdelaycompressnotifemptycreate 0640 www-data admsharedscriptspostrotatesystemctl reload nginxendscript
}
2.4.3 核心参数说明
参数作用
daily/weekly轮转周期
rotate N保留历史文件数量
compress启用gzip压缩
delaycompress延迟压缩前一个日志文件
size 100M按大小触发轮转
missingok文件不存在时不报错
create 0640 user group新日志文件权限设置
2.4.4 手动执行
logrotate -vf /etc/logrotate.d/nginx
2.4.5 应用场景
  • 防止日志文件过大

  • 自动化日志归档

  • 符合存储策略要求


三、高级日志管理方案

3.1 ELK Stack(分布式日志)

组件构成:

  • Elasticsearch:日志存储与检索

  • Logstash:日志收集处理

  • Kibana:数据可视化

3.1.1 典型架构
  1. Filebeat采集日志

  2. Logstash过滤处理

  3. Elasticsearch存储

  4. Kibana展示分析

3.1.2 Filebeat配置示例
filebeat.inputs:
- type: logenabled: truepaths:- /var/log/nginx/*.log
​
output.logstash:hosts: ["logstash:5044"]

3.2 auditd(安全审计)

3.2.1 核心配置文件

/etc/audit/auditd.conf

3.2.2 审计规则配置
# 监控文件访问
-a exit,always -F path=/etc/passwd -F perm=wa
​
# 监控用户登录
-a exit,always -F arch=b64 -S execve -k user_exec
3.2.3 审计日志查询
ausearch -k user_exec -i
aureport -au
http://www.xdnf.cn/news/9899.html

相关文章:

  • VueScan Pro v9.8.45.08 一款图像扫描软件,中文绿色便携版
  • JSON Schema
  • javaweb 前言
  • ArcPy错误处理与调试技巧
  • 抖音、快手无水印福音开源下载器之蓝猫 BlueCatKoKo
  • MMdetection推理保存图片和预测标签脚本
  • 前端的面试笔记——Vue2/3(一)Vue2和Vue3的区别和优缺点
  • 【ROS2】创建单独的launch包
  • 进程同步机制-信号量机制-AND型信号量
  • 特别篇-产品经理(三)
  • 数学概念解释数据集(200条)收集分享,为AI智能体应用助力~
  • 【Dv3Admin】工具CRUD混合器文件解析
  • 【SQL Server Management Studio 连接时遇到的一个错误】
  • 纵览网丨病毒学领域的 AI 变局:机遇、隐忧与监管之路
  • 5.28 孔老师 nlp讲座
  • 罗德里格斯公式动图演示
  • [ Qt ] | QPushButton常见用法
  • Allegro 版本查看和降版本
  • DeepSeek:不同模式(v3、R1)如何选择?
  • 三层架构 vs SOA vs 微服务:该选谁?
  • 华为云Flexus+DeepSeek征文 | 初探华为云ModelArts Studio:部署DeepSeek-V3/R1商用服务的详细步骤
  • 大型工业控制系统中私有云计算模式的弊端剖析与反思
  • 数据结构 - 数相关计算题
  • ZigBee 协议:开启物联网低功耗通信新时代
  • 【conda报错】InvalidArchiveError
  • 基于Session与基于Redis与Token验证码登录校验
  • 并查集 c++函数的值传递和引用传递 晴神问
  • <el-date-picker>配置禁用指定日期之前的时间选择(Vue2+Vue3)
  • 尚硅谷redis7 86 redis集群分片之3主3从集群搭建
  • 自动化测试实例:Web登录功能性测试(无验证码)