如何配置rsyslog将特定核心中间件的syslog直接绕过本地物理磁盘实时热推至远程SOC机房

酷宇同学_2977

酷宇同学_2977

2026-06-28

286人浏览

原创

要让WebLogic、IBM MQ、Oracle DB等中间件日志绕过本地磁盘直推SOC,需配置中间件输出至syslog接口(如local4/local5),rsyslog启用纯内存队列(queue.maxdiskspace="0g")、绑定专用ruleset并禁用本地落盘,服务端启用TLS加密接收。

如何配置rsyslog将特定核心中间件的syslog直接绕过本地物理磁盘实时热推至远程soc机房

要让特定核心中间件(如 WebLogic、IBM MQ、Oracle DB 的审计模块等)产生的 syslog 绕过本地磁盘、实时直推至远程 SOC 机房,关键不是“全局转发所有日志”,而是精准捕获目标进程的日志流,并通过 rsyslog 的可靠传输通道 + 内存队列 + 零落盘策略实现热推。这不是简单加一行 *.* @@soc-ip:514 就能解决的。

明确日志源头:中间件必须输出到 syslog 接口

中间件自身需配置为将日志写入 local socket(/dev/log)或 UDP/TCP 端口,而非直接写文件。例如:

  • WebLogic:启用 JVM 参数 -Dweblogic.log.LogSeverity=Debug -Dweblogic.log.RedirectStdoutToLog=true,再配合 log4j2 的 SyslogAppender,facility 设为 local4;
  • Oracle DB 审计:设置 AUDIT_TRAIL='OS' 并确保 audit_file_dest 指向一个由 rsyslog 监听的命名管道或 syslog socket;
  • IBM MQ:在 qm.ini 中配置 Log:Syslog=yes,并指定 Facility=local5。

若中间件只写文件(如 /opt/mq/logs/AMQERR01.LOG),则需用 imfile 模块监听该文件——但这就无法完全规避本地磁盘 I/O,不满足“绕过物理磁盘”要求。

rsyslog 客户端:禁用本地落盘,启用内存队列与 TCP 强保障

编辑 /etc/rsyslog.d/99-middleware-forward.conf,内容如下:

# 加载必要模块
module(load="imuxsock")    # 接收 /dev/log socket 日志
module(load="imklog")      # 接收内核日志(可选)
module(load="omfwd")       # 转发模块
<h1>为中间件日志单独定义规则集,避免混入其他日志</h1><p>ruleset(name="middleware-only") {</p><h1>只匹配 facility=local4 和 local5 的日志(按中间件实际配置调整)</h1><p>if $syslogfacility-text == 'local4' or $syslogfacility-text == 'local5' then {</p><div class="aritcle_card flexRow artxards">
											<div class="artcardd flexRow">
												<a class="aritcle_card_img" rel="nofollow" href="/ai/3892" title="FinGenius"><img
														src="https://img.php.cn/upload/ai_manual/001/246/273/178599583745360.png" alt="FinGenius" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
												<div class="aritcle_card_info flexColumn">
													<a rel="nofollow" href="/ai/3892" title="FinGenius" class="overflowclass">FinGenius</a>
													<p class="overflowclass">FinGenius是一款AI智能体工具,全球首个A股AI金融博弈智能体应用。</p>
												</div>
												<a rel="nofollow" href="/ai/3892" title="FinGenius" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
												</a>
											</div>
										</div><h1>关键:不写本地文件,直接进转发队列</h1><pre class="brush:php;toolbar:false;">action(
  type="omfwd"
  protocol="tcp"
  target="soc-server.example.com"
  port="514"
  keepalive="on"
  keepalive.maxidle="300"
  queue.type="LinkedList"
  queue.spoolDirectory="/var/lib/rsyslog"  # 仅故障时临时落盘,生产建议挂 tmpfs
  queue.filename="middleware-queue"
  queue.maxdiskspace="0g"                  # 禁用磁盘缓存(强制纯内存)
  queue.saveonshutdown="off"               # 不保存队列到磁盘
  queue.size="100000"                      # 大内存队列缓冲突发
  action.resumeRetryCount="-1"             # 永久重试,不丢日志
  action.reportSuspension="on"
  action.reportSuspensionContinuation="on"
)
stop  # 匹配后终止处理,不落入默认规则

} }

将规则集绑定到输入源

input(type="imuxsock" ruleset="middleware-only")

注意:queue.maxdiskspace="0g" 是绕过本地磁盘的核心参数;/var/lib/rsyslog 若必须存在,应挂载为 tmpfs(内存文件系统),避免真实磁盘写入。

SOC 机房服务端:按来源隔离 + TLS 加密(推荐)

在 SOC 服务器上,启用 TLS 保证传输安全(尤其跨网络边界):

  • 生成证书并配置 /etc/rsyslog.d/tls-server.conf,加载 imtcp 和 gtls 模块;
  • 使用 template 按中间件类型和主机 IP 分目录存储,例如:
    template(name="SOCFormat" type="string" string="/var/log/soc/%fromhost-ip%/%syslogfacility-text%/%$year%-%$month%-%$day%.log");
  • 添加 $InputTCPServerStreamDriverMode "1" 启用 TLS 模式;
  • 防火墙开放 6514/tcp(TLS 默认端口),而非明文 514。

这样既满足“实时热推”,又确保日志可溯源、防篡改、不落地客户端磁盘。

验证与可观测性要点

部署后必须验证三个层面是否真正生效:

  • 中间件进程是否真在往 /dev/log 写(lsof -U -p $(pgrep -f weblogic));
  • rsyslog 是否收到但未转发(rsyslogd -N1 检查语法,journalctl -u rsyslog -f 查看 rule 匹配日志);
  • SOC 侧是否收到且格式完整(tcpdump -i any port 6514 -A -c 5 抓包确认 TLS 握手及 payload)。

任何一环写入本地文件(如 /var/log/messages 或 /var/log/secure)都意味着未真正绕过磁盘——需回溯规则优先级与 stop 是否生效。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2712

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

916

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

809

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2456

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4552

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

727

5

热门下载

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

精品课程

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

共6课时 | 54.6万人学习

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

共89课时 | 133.4万人学习