云计算百科
云计算领域专业知识百科平台

rsyslog日志 如何把 比如交换机,路由器这类的 以及服务器之类的日志 全部集中到一台专门村日志的服务器中 还能保证 交换机,路由器这类的 以及服务器之类的日志源系统部分6

要将交换机、路由器和服务器日志集中存储到专用日志服务器,同时确保源设备(交换机、路由器、服务器)的本地存储空间不被占满,需采用 智能日志转发+本地轮转 策略。以下是具体实施方案:


一、核心设计原则

  • 源设备:只保留短期日志(如7天),自动清理旧日志

  • 日志服务器:长期存储原始日志(如1年)+ 分析归档

  • 传输协议:优先使用 TCP+TLS 保障可靠性


  • 二、网络设备配置(以Cisco/Huawei为例)

    1. Cisco设备 – 控制本地存储

    cisco

    ! 限制本地日志缓存大小(默认4MB)
    logging buffered 4096
    ! 设置日志服务器(TCP)
    logging host 192.168.1.100 transport tcp
    ! 禁止向控制台输出日志
    no logging console
    ! 自动清理旧日志(每当日志满时)
    logging persistent url flash:/logs size 10 filesize 4

    2. Huawei设备 – 本地日志轮转

    huawei

    # 设置日志服务器
    info-center loghost 192.168.1.100 facility local6
    # 限制本地日志文件大小(最大10MB,保留5个)
    info-center logfile size 10 max-file-number 5
    # 关闭不必要输出
    info-center console channel deny


    三、Linux服务器配置

    1. 客户端配置(控制本地存储)

    bash

    # /etc/rsyslog.d/forward.conf
    # 转发所有日志到中心服务器
    *.* @@192.168.1.100:514 # TCP传输

    # 本地只保留7天日志(通过logrotate)
    sudo tee /etc/logrotate.d/rsyslog-local <<'EOF'
    /var/log/syslog {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    postrotate
    /usr/lib/rsyslog/rsyslog-rotate
    endscript
    }
    EOF

    2. 日志服务器配置

    bash

    # /etc/rsyslog.d/central.conf
    # 接收远程日志并分类存储
    $template RemoteLogs,"/var/log/remote/%FROMHOST-IP%/%$YEAR%-%$MONTH%-%$DAY%.log"
    ruleset(name="remote") {
    action(type="omfile" template="RemoteLogs")
    # 可选:同时写入Elasticsearch
    action(type="omelasticsearch" server="localhost" index="logs-%FROMHOST-IP%")
    }

    module(load="imtcp" MaxSessions="500")
    input(type="imtcp" port="514" ruleset="remote")


    四、Windows服务器配置

    使用 NXLog CE(社区版)实现日志转发和本地清理:

    xml

    # nxlog.conf
    <Input eventlog>
    Module im_msvistalog
    SavePos TRUE
    </Input>

    <Output file>
    Module om_file
    File "C:\\\\Logs\\\\system_events.log"
    Exec if file_size() > 10MB file_cycle();
    </Output>

    <Output rsyslog>
    Module om_tcp
    Host 192.168.1.100
    Port 514
    </Output>

    <Route 1>
    Path eventlog => file, rsyslog
    </Route>


    五、存储空间保障措施

    1. 源设备空间控制
    设备类型控制方法
    Cisco logging buffered 4096 + logging persistent size 10
    Huawei info-center logfile size 10 max-file-number 5
    Linux logrotate 按大小/时间轮转
    Windows NXLog的file_cycle()函数
    2. 日志服务器存储规划

    bash

    # 计算所需存储空间
    预估公式:
    总空间 = (单设备日均日志量 × 设备数 × 保留天数) × 冗余系数(1.3)

    示例:
    50台设备 × 50MB/天 × 365天 × 1.3 ≈ 1.2TB

    3. 自动清理脚本(日志服务器)

    bash

    # /usr/local/bin/clean_old_logs.sh
    #!/bin/bash
    find /var/log/remote/ -name "*.log" -mtime +365 -delete
    # 添加到cron
    (crontab -l ; echo "0 3 * * * /usr/local/bin/clean_old_logs.sh") | crontab –


    六、传输可靠性保障

    1. 断网缓存(客户端)

    bash

    # Linux客户端配置本地队列
    # /etc/rsyslog.d/queue.conf
    $ActionQueueFileName queue # 内存队列名称
    $ActionQueueMaxDiskSpace 1g # 最大磁盘缓存
    $ActionQueueSaveOnShutdown on
    $ActionQueueType LinkedList
    $ActionResumeRetryCount -1 # 无限重试

    2. 日志完整性校验

    bash

    # 使用rsyslog的imfile模块跟踪文件位置
    module(load="imfile" Mode="inotify")
    input(
    type="imfile"
    File="/var/log/network.log"
    Tag="net-device"
    ReadMode="2" # 跟踪inode防止日志轮转丢失
    )


    七、监控与告警

    1. 日志收集状态监控

    bash

    # 检查各设备最新日志时间
    find /var/log/remote/ -type f -name "*.log" -exec stat -c "%n %y" {} \\; | sort -k2

    2. Prometheus监控指标

    yaml

    # rsyslog exporter配置
    scrape_configs:
    – job_name: 'rsyslog'
    static_configs:
    – targets: ['192.168.1.100:9100']

    3. 磁盘空间告警规则

    bash

    # /usr/local/bin/check_disk.sh
    #!/bin/bash
    THRESHOLD=90
    USAGE=$(df -h /var/log | awk 'NR==2{print $5}' | tr -d '%')
    [ $USAGE -gt $THRESHOLD ] && \\
    echo "Alert: Log disk usage $USAGE%" | mail -s "STORAGE ALERT" admin@example.com


    八、实施流程图

    图表

    代码


    通过以上方案,您将获得:

    • 源设备:本地仅保留必要日志,避免存储溢出

    • 集中存储:所有原始日志长期保留在专用服务器

    • 可靠性:断网缓存+加密传输确保数据不丢失

    • 可扩展性:支持后续接入SIEM分析平台(如Splunk)

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » rsyslog日志 如何把 比如交换机,路由器这类的 以及服务器之类的日志 全部集中到一台专门村日志的服务器中 还能保证 交换机,路由器这类的 以及服务器之类的日志源系统部分6
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!