ngxtop日志轮转脚本:自定义日志轮转脚本示例

ngxtop日志轮转脚本:自定义日志轮转脚本示例

【免费下载链接】ngxtop Real-time metrics for nginx server 【免费下载链接】ngxtop 项目地址: https://gitcode.com/gh_mirrors/ng/ngxtop

🚀 想要实时监控Nginx服务器性能,但日志文件不断增长导致分析困难?ngxtop作为一款强大的实时Nginx服务器监控工具,配合自定义日志轮转脚本,能帮你轻松解决这个问题!本文将为你展示如何创建实用的ngxtop日志轮转脚本,让你的服务器监控更加高效稳定。

为什么需要ngxtop日志轮转?

Nginx访问日志会随着时间不断增长,大文件不仅占用磁盘空间,还会影响ngxtop的实时分析效率。通过日志轮转,你可以:

  • 📊 保持实时监控流畅性
  • 💾 节省服务器存储空间
  • 🔍 便于历史数据归档分析

ngxtop日志轮转脚本核心配置

基础日志轮转脚本示例

#!/bin/bash
# ngxtop_log_rotate.sh - 自定义Nginx日志轮转脚本

LOG_DIR="/var/log/nginx"
NGXTOP_CONFIG="/etc/ngxtop.conf"
DATE_SUFFIX=$(date +%Y%m%d)

# 轮转访问日志
mv $LOG_DIR/access.log $LOG_DIR/access.log.$DATE_SUFFIX

# 重新打开日志文件
nginx -s reopen

# 可选:压缩旧日志文件
gzip $LOG_DIR/access.log.$DATE_SUFFIX

集成ngxtop的智能轮转方案

#!/bin/bash
# smart_ngxtop_rotate.sh

LOG_FILE="/var/log/nginx/access.log"
MAX_SIZE="100M"  # 最大文件大小

# 检查日志文件大小
if [ -f "$LOG_FILE" ] && [ "$(stat -f%z "$LOG_FILE" 2>/dev/null || stat -c%s "$LOG_FILE") -gt 104857600 ]; then
    echo "$(date): 开始轮转Nginx日志文件"
    
    # 暂停ngxtop监控
    pkill -f "ngxtop"
    
    # 执行轮转
    mv "$LOG_FILE" "${LOG_FILE}.$(date +%Y%m%d_%H%M%S)"
    
    # 重新加载Nginx配置
    nginx -s reopen
    
    # 重新启动ngxtop
    ngxtop --access-log "$LOG_FILE" --interval 2 &
    
    echo "$(date): 日志轮转完成"
fi

关键配置文件说明

在ngxtop项目中,有几个重要的配置文件需要了解:

高级轮转策略

基于时间的轮转

#!/bin/bash
# 每日轮转脚本

# 检查是否需要轮转(每天凌晨执行)
if [ "$(date +%H)" = "00" ]; then
    /path/to/ngxtop_log_rotate.sh
fi

基于大小的轮转

#!/bin/bash
# 基于文件大小的轮转

LOG_FILE="/var/log/nginx/access.log"
SIZE_LIMIT=104857600  # 100MB

current_size=$(stat -f%z "$LOG_FILE" 2>/dev/null || stat -c%s "$LOG_FILE")

if [ "$current_size" -gt "$SIZE_LIMIT" ]; then
    echo "日志文件超过限制,执行轮转"
    # 执行轮转逻辑
fi

最佳实践建议

  1. 设置合理的轮转频率 - 根据业务量调整轮转周期
  2. 保留适当的历史日志 - 建议保留7-30天的日志文件
  3. 监控磁盘空间 - 确保有足够的空间存储轮转后的日志

自动化部署方案

将日志轮转脚本与ngxtop监控工具结合,创建完整的自动化监控解决方案:

# 启动ngxtop并设置自动轮转
ngxtop --access-log /var/log/nginx/access.log &
echo "ngxtop监控已启动"

# 设置定时任务
(crontab -l 2>/dev/null; echo "0 0 * * * /path/to/ngxtop_log_rotate.sh")

🎯 通过本文提供的ngxtop日志轮转脚本示例,你可以轻松构建适合自己业务需求的日志管理方案。记住,合理的日志轮转不仅能提升ngxtop的监控效率,还能为你的服务器运维工作带来极大的便利!

通过自定义ngxtop日志轮转脚本,你可以确保Nginx服务器始终处于最佳监控状态,及时发现并解决潜在的性能问题。🚀

【免费下载链接】ngxtop Real-time metrics for nginx server 【免费下载链接】ngxtop 项目地址: https://gitcode.com/gh_mirrors/ng/ngxtop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值