linRichielinRichie
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
  • Ansible

    • Ansible: 基本操作
    • Ansible: 安装
    • Ansible: 简介
    • YAML: 文件格式
    • Playbook

      • Playbook: 介绍
      • Playbook: 操作
    • 模块

      • Yum模块常用参数
    • 实战

      • Ansible 实战
  • Anaconda

    • Anaconda命令
  • Iptables

    • Iptable: 防火墙
    • iptables 用法
  • Systemd

    • 系统服务配置
    • 系统服务启动文件
    • 性能优化

      • Linux 系统监控
      • Linux 系统性能优化
      • Linux 系统故障诊断
      • Linux 系统日志管理
  • Network

    • 用一张图解释 8 种流行的网络协议
    • 反子网掩码
    • 交换机端口模式
    • eNSP 软件
    • 华为交换机配置命令
    • eNSP静态路由实验
  • Commands

    • 命令别名:alias
    • 多类型资源统计工具: dstat
    • history配置
    • unzip命令
    • Linux用户到期登录时间和随机密码
    • 常用 Command
    • ssh

      • ssh-keygen
      • linux ssh命令
  • CI/CD

    • Jenkins CI/CD 管道
  • Kubernetes

    • Docker系列学习

      • 01. 什么是Docker
      • 02. Docker安装
      • 03. 使用Docker镜像
      • 04. 利用commit理解镜像构成
      • 05. 操作Docker容器
      • 06. 使用Dockerfile定制镜像
      • 07. Dockerfile指令详解
      • 08. Dockerfile多阶段创建
      • 09. 访问仓库
      • 10. 修改docker的启动项
      • 11. Nexus3.x的私有仓库
      • 12. docker-hub加速器
      • 13. 数据管理
      • 14. 使用网络
  • Shell编程

    • Shell 编程基础
    • Shell 脚本执行消耗的时间
    • Shell 自动生成简介

Linux 系统日志管理

  • 1. 系统日志概述
    • 1.1 日志类型
  • 2. 日志管理工具
    • 2.1 基本命令
    • 2.2 日志分析工具
  • 3. 日志配置
    • 3.1 rsyslog 配置
    • 3.2 logrotate 配置
  • 4. 日志分析方法
    • 4.1 ���用分析命令
    • 4.2 日志监控脚本
  • 5. 日志安全
    • 5.1 日志加密
    • 5.2 远程日志
  • 6. 最佳实践

1. 系统日志概述

1.1 日志类型

  1. 系统日志

    • /var/log/syslog
    • /var/log/messages
    • /var/log/dmesg
  2. 应用日志

    • /var/log/apache2/
    • /var/log/nginx/
    • /var/log/mysql/
  3. 安全日志

    • /var/log/auth.log
    • /var/log/secure
    • /var/log/audit/

2. 日志管理工具

2.1 基本命令

# 查看实时日志
tail -f /var/log/syslog

# 搜索日志内容
grep "error" /var/log/syslog

# 统计日志数量
wc -l /var/log/syslog

2.2 日志分析工具

# 安装 logwatch
apt install logwatch  # Ubuntu/Debian
yum install logwatch  # CentOS/RHEL

# 使用 logwatch
logwatch --detail High --range All --output stdout

3. 日志配置

3.1 rsyslog 配置

# 编辑 rsyslog 配置
vim /etc/rsyslog.conf

# 重启 rsyslog 服务
systemctl restart rsyslog

3.2 logrotate 配置

# 编辑 logrotate 配置
vim /etc/logrotate.conf

# 创建自定义规则
vim /etc/logrotate.d/custom

4. 日志分析方法

4.1 ���用分析命令

# 提取错误信息
awk '/error/' /var/log/syslog

# 统计访问 IP
awk '{print $1}' access.log | sort | uniq -c

# 分析时间段
sed -n '/May 20 10:00:00/,/May 20 11:00:00/p' syslog

4.2 日志监控脚本

#!/bin/bash
# 监控日志文件大小
log_file="/var/log/syslog"
max_size=100000000  # 100MB

current_size=$(du -b "$log_file" | cut -f1)
if [ $current_size -gt $max_size ]; then
    echo "Log file too large: $log_file"
    logger "Warning: Log file size exceeded threshold"
fi

5. 日志安全

5.1 日志加密

# 使用 GPG 加密日志
gpg -c logfile.log

# 日志文件权限设置
chmod 640 /var/log/secure
chown root:adm /var/log/secure

5.2 远程日志

# 配置远程日志服务器
# 在 /etc/rsyslog.conf 中添加
*.* @remote-host:514

# 启用 TCP 传输
*.* @@remote-host:514

6. 最佳实践

  1. 日志策略

    • 确定日志级别
    • 设置保留期限
    • 规划存储空间
  2. 监控告警

    • 设置关键字告警
    • 监控日志大小
    • 配置自动响应
  3. 安全考虑

    • 日志访问控制
    • 日志完整性检查
    • 日志备份策略
最近更新时间:
Prev
Linux 系统故障诊断