百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Linux 日志系统维护的实战示例(linux 日志文件系统)

liuian 2025-06-24 15:18 93 浏览

Linux 日志系统维护的实战示例,涵盖常见场景和工具:

1. 日志轮转与清理(Logrotate)

问题:系统 /var/log 空间不足,需定期切割和清理旧日志。

实战步骤:

  1. 检查默认配置
    Logrotate 默认配置文件:

bash

cat /etc/logrotate.conf # 全局配置 ls /etc/logrotate.d/ # 应用特定配置(如nginx、syslog等)

  1. 自定义日志轮转规则(以 Nginx 为例)
    创建文件 /etc/logrotate.d/nginx:

yaml

/var/log/nginx/*.log { daily # 每天轮转 missingok rotate 14 # 保留14天 compress # 压缩旧日志(gzip) delaycompress # 延迟压缩前一天的日志 notifempty # 空日志不处理 create 0640 nginx adm # 轮转后日志权限 sharedscripts # 执行统一脚本 postrotate sudo systemctl reload nginx # 触发日志文件重开 endscript }

  1. 手动测试配置

bash

logrotate -d /etc/logrotate.d/nginx # 调试模式(dry-run) logrotate -vf /etc/logrotate.d/nginx # 强制执行轮转

  1. 清理历史日志

bash

find /var/log -name "*.log.*" -type f -mtime +30 -exec rm -f {} \; # 删除30天前的旧日志

2. 实时日志监控与分析

场景:快速定位应用程序或系统错误。

实战示例:

  1. 使用 journalctl(systemd 日志)

bash

journalctl -u nginx -f # 实时跟踪 Nginx 日志 journalctl --since "2024-01-01" --until "2024-01-02" # 按时间过滤 journalctl -p err -b # 仅显示本次启动后的错误日志

  1. 借助 grep 和 awk

bash

grep "ERROR" /var/log/syslog | awk '{print $5}' | sort | uniq -c # 统计错误关键词频率 tail -f /var/log/nginx/access.log | grep ' 500 ' # 实时监控 500 错误

  1. 使用 multitail 工具

bash

sudo apt install multitail # Ubuntu/Debian sudo yum install multitail # CentOS multitail -i /var/log/nginx/access.log -i /var/log/nginx/error.log # 同时监控多个日志

3. 日志归档与备份

场景:长期保留日志用于审计或分析。

实战步骤:

  1. 压缩历史日志

bash

tar -czvf /backup/logs-$(date +%Y%m%d).tar.gz /var/log/nginx/*.log.* # 压缩旧日志

  1. 2同步到远程服务器(通过 rsync)

bash

rsync -avz /var/log/nginx/ user@remote-host:/backup/logs/ # 远程备份

  1. 定时任务(Cron)
    编辑 crontab -e 添加:

bash

0 3 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx # 每天3点执行轮转 0 4 * * * tar -czvf /backup/logs-$(date +\%Y\%m\%d).tar.gz /var/log/nginx/*.log.*

4. 集中式日志管理(ELK Stack)

场景:多台服务器日志统一收集和分析。

实战步骤:

  1. 安装 Filebeat(日志采集)

bash

# Ubuntu/Debian curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.11.1-amd64.deb sudo dpkg -i filebeat-8.11.1-amd64.deb # CentOS/RHEL curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.11.1-x86_64.rpm sudo rpm -vi filebeat-8.11.1-x86_64.rpm

  1. 配置 Filebeat(/etc/filebeat/filebeat.yml)

yaml

filebeat.inputs: - type: filestream paths: - /var/log/nginx/*.log fields: service: nginx output.elasticsearch: hosts: ["elasticsearch-server:9200"] indices: - index: "nginx-%{+yyyy.MM.dd}"

  1. 启动并验证

bash

sudo systemctl enable --now filebeat curl
http://elasticsearch-server:9200/_cat/indices?v
# 检查索引是否生成

  1. 在 Kibana 中可视化日志
    访问 http://kibana-server:5601,创建索引模式并制作仪表盘。

5. 日志安全与权限

场景:防止日志被篡改或泄露。

实战示例:

  1. 日志文件权限加固

bash

chmod 640 /var/log/nginx/*.log # 仅允许 root 和 nginx 组访问 chown root:nginx /var/log/nginx/

  1. 配置 auditd 监控关键日志

bash

sudo auditctl -w /var/log/nginx/ -p wa -k nginx_logs # 监控写和属性修改 sudo ausearch -k nginx_logs | aureport -f -i # 查询审计记录

  1. 日志完整性校验(Tripwire 或 AIDE)

bash

# 使用 AIDE 安装与校验(以 Ubuntu 为例) sudo apt install aide -y aideinit && mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db aide.wrapper --check # 定期检查文件篡改

6. 日志故障排查示例

问题:系统出现大量 Out of memory 错误。
排查步骤

  1. 快速定位关键日志

bash

journalctl --since "10 min ago" | grep -i "out of memory"

  1. 分析进程内存使用

bash

grep -i "oom" /var/log/kern.log # 查看内核 OOM Killer 日志 ps -eo pid,user,%mem,command --sort=-%mem | head -n 10 # 显示内存占前10的进程

  1. 生成自动化警报脚本

bash

# 检查内存不足错误并发送邮件 if grep -q "Out of memory" /var/log/syslog; then echo "系统出现 Out of Memory 错误!" | mail -s "OOM Alert" admin@example.com fi

注意事项

  1. 日志保留策略:根据合规要求(如 GDPR)设置保留周期。
  2. 定期验证:检查 Logrotate 是否生效,避免日志堆积。
  3. 性能影响:集中式日志系统(如 ELK)需确保足够的存储和网络带宽。
  4. 敏感信息脱敏:避免在日志中记录密码、密钥等敏感数据。

相关推荐

office 2010怎么激活(office 2010如何激活)

 1.打开下载好的Office,点击左上角的“文件”,然后在下拉菜单上点击“帮助”,显示需要激活Office。?  2.找到解压缩好的安装文件,打开里面的“激活破解”文件夹。?  3.在文件夹中运行激...

笔记本xp系统忘记开机密码(笔记本xp开机密码忘了怎么办最简单的方法)

xp系统忘记开机密码解锁方法如下1、在需要破解开机密码的xp电脑上插入pe启动盘,启动电脑后不停按F12、F11、Esc等快捷键,在弹出的启动菜单选择框中选择识别到的usb启动项,比如General...

新风系统安装示意图(新风系统安装效果图)
  • 新风系统安装示意图(新风系统安装效果图)
  • 新风系统安装示意图(新风系统安装效果图)
  • 新风系统安装示意图(新风系统安装效果图)
  • 新风系统安装示意图(新风系统安装效果图)
isofix接口(isofix接口怎么拆卸)

isofix接口上有isofix的字样,它的图标是一个类似人坐在座椅上。在汽车座椅靠垫与坐垫之间的连接处有2个接口,那就是isofix接口,是一种硬连接方式,为了防止撞击时发生座椅翻转,一些座椅在IS...

无线路由器怎么设置不让别人连接

要设置无线路由器不让别人连接,可以采取以下措施:1.配置路由器密码:在路由器设置中,可以设置密码,限制只有授權的人才能连接到网络。2.配置防火墙:可以安装防火墙软件,如OpenDNS,限制...

fast迅捷路由器(fast迅捷路由器配置上网教程)

http://www.fastcom.com.cn/上面这个就迅捷官网的网址老版本的迅捷路由器默认登录地址为“192.168.1.1”,新版本的迅捷路由器默认登录地址为“falogin.cn”。02...

手机天梯图2025最新版(手机天梯图cpu2020快科技)

一般情况下而言,手机处理器的性能越强,功耗也就越高。有网友制作了一张手机处理器功耗排名图,高通骁龙888位8.34W,是榜单中功耗第二的处理器。而海思麒麟9000则位列第三,功耗为8.3W。一般情况下...

pe系统下载官网手机版(pe系统之家)

打开手机应用商店,选择windowspe,下载安装PE系统是一种维护用的系统,本身是很简陋的,什么常用功能都没有,后经一些爱好都修改、完善,现在成为可当临时系统用的精简系统。但PE系统当前种类很多,...

云骑士装机大师怎么激活win7

回答如下:要激活Windows7操作系统,您可以按照以下步骤进行操作:1.确保您的计算机已连接到互联网。2.打开“开始”菜单,点击“计算机”右键,选择“属性”。3.在系统属性窗口中,向下滚动到...

vmware workstation使用教程

VMwareWorkstation15是一款虚拟机软件,可以在主机上模拟多个虚拟计算机环境。以下是使用VMwareWorkstation15的基本步骤:1.下载和安装软件:从VMware官方...

windows7旗舰版64位多少钱(windows7旗舰版64位多少钱合适)

这两个都是64位的,唯一区别是后者集成SP1。win7旗舰版64位玉米系统比较稳定,不但稳定,运行速度也很快!WIN764位系统需要的电脑配置。最低配置CPU:1GHz32位或2G...

电脑黑屏了怎么重装系统(电脑黑屏怎么重装系统win10)

我觉着吧,题主的判断可能是不正确的黑屏开不了机指的是开机后显示屏无任何信号接入首先从电源出发,电源的cpu供电,主板供电,显卡供电,硬盘供电,每一项都要确保接触完整再到主板,主板上呢,cpu散热必须接...

三星官网正品查询(三星全新正品查询网站)

三星服务中心地址:http://support-cn.samsung.com/support/ServiceLocations.asp国家工信部电信设备进网管理网站查询移动设备真伪方式:方法一:网站查...

显示windows许可证即将过期

电脑提示Windows许可证即将到期,可以采取以下措施:检查许可证状态:首先需要确认许可证是否真的即将过期。可以在Windows设置中查看许可证状态,或者运行命令“slmgr/xpr”来检查许可证到...

u盘看不到第二个分区(u盘不显示第二个分区)

u盘分区后不显示出来原因一般为以下三种:第一种情况:对于windows系统是只能识别U盘分区的。第二种情况:关于U盘的diskgenius分区是只能看到一个分区的第三种情况:这个U盘分区已经被隐藏了,...