利用 Rsyslog 构建高可用日志处理集群方案

雨强吖_2085

雨强吖_2085

2026-06-10

756人浏览

原创

核心是借助外部机制弥补rsyslog无状态同步短板:一、keepalived实现双机热备+vip漂移,主备配置一致并按源ip分目录存储;二、traefik/haproxy负载均衡多实例,客户端启用tcp双队列与无限重试;三、服务端开启tcp keep-alive、禁用本地日志干扰;四、prometheus+grafana监控队列、连接与健康状态。

利用 rsyslog 构建高可用日志处理集群方案

构建高可用日志处理集群,核心不是让 rsyslog 自己“组队同步”,而是用外部机制补足它原生不支持状态共享的短板——通过负载均衡分担压力、用主备切换保障连续性、靠本地队列兜底防丢日志。

一、双机热备 + VIP 漂移(适合中小规模)

这是最成熟、部署成本最低的高可用方案,依赖 Keepalived 实现秒级接管:

  • 两台服务器安装相同版本 rsyslog,配置完全一致:启用 imudp 和 imtcp 模块,监听 514 端口
  • 用 Keepalived 绑定一个虚拟 IP(如 192.168.1.100),客户端只往这个 VIP 发日志
  • 主节点健康检查失败(如检测 ss -tln | grep :514 或 rsyslog 进程)时,VIP 自动漂移到备机
  • 模板中按源 IP 分目录存储,例如:
    $template RemoteLogs,"/var/log/remote/%FROMHOST-IP%/%$YEAR%-%$MONTH%-%$DAY%.log",避免切换后路径混乱

二、多实例 + 反向代理负载均衡(适合中大型流量)

当单台接收压力大或需横向扩展时,用 Traefik / HAProxy 做 TCP 层负载均衡:

堆友Agent
堆友Agent

堆友Agent是一款AI图像与设计工具,集成大厂专家设计 Skill 的AI设计智能体。

下载
  • 客户端配置指向负载均衡器域名或 VIP,使用 TCP 协议(更可靠):
    *.* action(type="omfwd" target="log-lb.example.com" port="10514" protocol="tcp" action.resumeRetryCount="10" queue.type="linkedlist" queue.size="10000")
  • 负载均衡器做健康检查(如探测后端 rsyslog 的 TCP 连通性),自动剔除异常节点
  • 每台 collector 保持无状态,日志落地路径与模板统一,便于后续归档或接入 Loki/ES
  • 建议配合磁盘队列(queue.filename + queue.saveonshutdown)防止网络抖动丢日志

三、日志不丢的关键配置细节

高可用不只是“服务在线”,更是“数据不丢”:

  • 客户端必须启用内存+磁盘双队列:queue.type="disk" 或 "linkedlist" 配合 queue.filename 持久化
  • 设置合理重试策略:action.resumeRetryCount="-1"(无限重试)或至少 30 次以上,搭配 action.queue.timeoutShutdown="0"
  • 服务端开启 TCP keep-alive:$InputTCPServerStreamDriverMode 1 和 $InputTCPServerStreamDriverAuthMode x509/name(如用 TLS)
  • 禁用 $OmitLocalLogging on 防止本地日志干扰,确保所有远程日志独立落盘

四、监控与故障响应闭环

没有监控的高可用是纸糊的:

  • 用 Prometheus 抓取 rsyslog 内置指标(需加载 impstats 模块),重点关注 imtcp:current_sessions、queue_full、failed_transmits
  • Grafana 中配置阈值告警:队列积压超 5000 条、TCP 连接数突降、连续 3 次健康检查失败
  • Keepalived 自带日志可输出到 syslog,结合 logger 命令触发通知(如调用 webhook 发钉钉/企微)
  • 定期验证日志完整性:比对客户端发送量与服务端接收量(可通过 rsyslogd -N1 检查配置语法,rsyslogd -v 查版本兼容性)

相关专题

更多
Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

60

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

20

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

20

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

20

12

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

2026.09.22

20

13

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

2026.09.22

20

19

loomy官网入口地址合集
loomy官网入口地址合集

本专题汇总了 Loomy 桌面 AI 助理的官方入口地址合集及使用指南。提供 macOS 与 Windows 客户端下载 。Loomy 是讯飞推出的桌面级 AI 工作搭子,支持文件整理、数据分析、网页操作及通过飞书/钉钉远程操控电脑,助你高效完成本地办公任务 。

2026.09.22

20

19

NumPy常见函数使用方法
NumPy常见函数使用方法

本专题整理 NumPy 常见函数使用方法相关教程,覆盖函数大全、参数用法、数组运算、统计聚合、排序处理、where 条件筛选、linspace 创建数列等常用场景,帮助读者快速掌握 NumPy 函数调用思路和实际数据处理技巧。

2026.09.22

40

21

NumPy性能优化版本更新与常见报错排查
NumPy性能优化版本更新与常见报错排查

本专题整理 NumPy 性能优化、版本更新与常见报错排查相关教程,覆盖向量化计算、广播性能、内存布局、NumPy 2.0 升级、版本兼容冲突、安装导入报错、dtype 溢出、矩阵运算异常和 broadcasting 报错修复,帮助读者系统掌握 NumPy 性能调优与问题定位方法。

2026.09.22

60

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.2万人学习