温馨提示×

centos syslog如何版本升级

小樊
45
2025-12-19 12:26:46
栏目: 智能运维

CentOS 上 rsyslog 版本升级指南

升级前准备与版本确认

  • CentOS 6/7 上,系统自带的 syslog 实现通常是 rsyslog。先确认当前版本与运行状态:
    • 查看版本:rsyslogd -v
    • 查询包信息:rpm -qa | grep rsyslog
    • 检查服务:systemctl status rsyslog(或 service rsyslog status
  • 备份关键配置与状态:
    • 配置:cp -a /etc/rsyslog.conf /etc/rsyslog.conf.bak
    • 运行时状态:mkdir -p /var/backups/rsyslog && cp -a /var/lib/rsyslog /var/backups/rsyslog/$(date +%F)
  • 规划变更窗口与回滚方案:保留旧包版本(如 yum versionlock 或手动保存 rpm),准备回滚命令。

在线升级步骤(推荐)

  • CentOS 6(默认仓库版本较旧,使用 Adiscon 官方仓库升级到 v8)

    1. 安装仓库并升级:
      wget -O /etc/yum.repos.d/rsyslog.repo http://rpms.adiscon.com/v8-stable/rsyslog.repo
      yum clean all
      yum update rsyslog
      
    2. 验证版本:rsyslogd -v(应显示 8.x
    3. 重启服务:systemctl restart rsyslog(或 service rsyslog restart) 说明:Adiscon 为 RHEL/CentOS 提供了 v7/v8 的稳定仓库,适用于集中日志、Kafka 等高级模块需求。
  • CentOS 7(优先使用系统仓库,确有需求再添加第三方仓库)

    1. 常规更新:yum update rsyslog
    2. 如需 v8 功能(如更强的模块支持),可添加 Adiscon 仓库后升级(同 CentOS 6 的 repo 步骤),注意选择与系统匹配的 epel-$releasever 路径。
    3. 验证与重启:rsyslogd -vsystemctl restart rsyslog 说明:CentOS 7 默认仓库通常提供 7.x 系列,满足多数场景;若需 v8 特性再考虑第三方仓库。

离线升级步骤(无外网环境)

  • 在一台可联网的同版本机器下载所需 RPM(含依赖),再拷贝到目标服务器安装:
    1. 下载索引与 RPM(示例为 CentOS 6 + v8,按实际系统/版本调整):
      • 仓库索引页:http://rpms.adiscon.com/v8-stable/epel-6/x86_64/RPMS/
      • 常见依赖与模块:json-c、libfastjson、libestr、liblogging、librdkafka1、rsyslog-kafka、rsyslog
    2. 拷贝到目标机,按依赖顺序安装(示例):
      rpm -ivh json-c-*.rpm
      rpm -ivh libfastjson-*.rpm
      rpm -ivh libestr-*.rpm
      rpm -ivh liblogging-*.rpm
      rpm -ivh librdkafka1-*.rpm
      rpm -Uvh rsyslog-*.rpm
      rpm -ivh rsyslog-kafka-*.rpm
      
    3. 验证与重启:rsyslogd -vsystemctl restart rsyslog 重要提示:选择与系统发行版匹配的目录(如 epel-6 对应 CentOS 6,epel-7 对应 CentOS 7),避免 glibc 等基础库不兼容导致升级失败。

回滚与常见问题

  • 回滚建议

    • 优先使用包管理器回滚:yum downgrade rsyslog(若保留旧版本)或使用备份的 rpm 包 rpm -Uvh --oldpackage rsyslog-<旧版本>.rpm
    • 还原配置与状态:cp -a /etc/rsyslog.conf.bak /etc/rsyslog.confsystemctl restart rsyslog
    • 切勿随意卸载 rsyslog,其被系统组件(如 cronie)依赖,卸载可能引发级联删除(如 crontab 等)。
  • 常见问题与规避

    • 仓库变量解析错误:编辑 /etc/yum.repos.d/rsyslog.repo 时,将 $releasever/$basearch 替换为实际值(如 6/x86_64),可避免 “Invalid release/repo/arch combination” 等错误。
    • 依赖与兼容性:跨大版本升级(如 CentOS 6 使用 epel-7 路径)会因 glibc 版本不匹配失败;应选择与系统一致的 epel-6/7 目录。
    • 功能变更:如从 8.5.0 之前升级,注意 imfile 模块重构,文件名支持通配符等新特性与参数差异。

0