CentOS 上 rsyslog 版本升级指南
升级前准备与版本确认
rsyslogd -vrpm -qa | grep rsyslogsystemctl status rsyslog(或 service rsyslog status)cp -a /etc/rsyslog.conf /etc/rsyslog.conf.bakmkdir -p /var/backups/rsyslog && cp -a /var/lib/rsyslog /var/backups/rsyslog/$(date +%F)yum versionlock 或手动保存 rpm),准备回滚命令。在线升级步骤(推荐)
CentOS 6(默认仓库版本较旧,使用 Adiscon 官方仓库升级到 v8)
wget -O /etc/yum.repos.d/rsyslog.repo http://rpms.adiscon.com/v8-stable/rsyslog.repo
yum clean all
yum update rsyslog
rsyslogd -v(应显示 8.x)systemctl restart rsyslog(或 service rsyslog restart)
说明:Adiscon 为 RHEL/CentOS 提供了 v7/v8 的稳定仓库,适用于集中日志、Kafka 等高级模块需求。CentOS 7(优先使用系统仓库,确有需求再添加第三方仓库)
yum update rsyslogrsyslogd -v 与 systemctl restart rsyslog
说明:CentOS 7 默认仓库通常提供 7.x 系列,满足多数场景;若需 v8 特性再考虑第三方仓库。离线升级步骤(无外网环境)
http://rpms.adiscon.com/v8-stable/epel-6/x86_64/RPMS/json-c、libfastjson、libestr、liblogging、librdkafka1、rsyslog-kafka、rsyslogrpm -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
rsyslogd -v、systemctl restart rsyslog
重要提示:选择与系统发行版匹配的目录(如 epel-6 对应 CentOS 6,epel-7 对应 CentOS 7),避免 glibc 等基础库不兼容导致升级失败。回滚与常见问题
回滚建议
yum downgrade rsyslog(若保留旧版本)或使用备份的 rpm 包 rpm -Uvh --oldpackage rsyslog-<旧版本>.rpmcp -a /etc/rsyslog.conf.bak /etc/rsyslog.conf、systemctl restart rsyslog常见问题与规避
/etc/yum.repos.d/rsyslog.repo 时,将 $releasever/$basearch 替换为实际值(如 6/x86_64),可避免 “Invalid release/repo/arch combination” 等错误。