You need to enable JavaScript to run this app. 如何使用Splunk Universal Forwarder转发syslog流且无需写入磁盘
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Splunk Universal Forwarder转发syslog流且无需写入磁盘

Splunk Universal Forwarder 直接转发syslog流(无需落盘)实现方法

以下是CentOS 7环境下的两种常用实现方案,无需提前将syslog写入磁盘即可完成转发:

方案1:UF直接监听syslog端口接收全量日志

适合需要接收本机所有syslog流的场景:

  • 进入UF配置目录$SPLUNK_HOME/etc/system/local/,新建或编辑inputs.conf
  • 添加如下配置,以UDP 514端口为例:
[udp://0.0.0.0:514]
connection_host = ip
sourcetype = syslog
index = <你的目标索引名>
disabled = 0
  • 重启UF生效:$SPLUNK_HOME/bin/splunk restart

提示:如果要只保留local系列facility的日志,可以在UF的props.conf和transforms.conf配置过滤规则,丢弃其他facility的日志即可。


方案2:rsyslog定向转发指定local设施日志到UF

适合只需要转发local0~local7等指定facility日志的场景,过滤逻辑更简单:

  1. 配置rsyslog转发规则
  • 新建rsyslog规则文件/etc/rsyslog.d/10-splunk-local.conf,避免修改主配置
  • 添加规则,以转发local0、local1日志到本机UF的1514 UDP端口为例:
local0.* @127.0.0.1:1514
local1.* @127.0.0.1:1514
# 如需转发更多local设施,按上述格式新增行即可
  • 重启rsyslog生效:systemctl restart rsyslog
  1. 配置UF接收规则
  • 编辑UF的inputs.conf,添加本地端口监听配置:
[udp://127.0.0.1:1514]
connection_host = dns
sourcetype = syslog
index = <你的目标索引名>
disabled = 0
  • 重启UF生效:$SPLUNK_HOME/bin/splunk restart

可选优化项

  • 可靠性优化:如果需要保障日志不丢失,将rsyslog配置中的@改为@@(使用TCP协议),同时将UF inputs中的udp://改为tcp://即可
  • 低权限运行适配:如果UF不用root运行,避免占用1024以下端口,直接用1514这类高位端口即可;如果必须用514端口,执行以下命令给splunkd开放端口权限:setcap 'cap_net_bind_service=+ep' $SPLUNK_HOME/bin/splunkd
  • 避免重复上报:删除原有配置中读取本地syslog文件的monitor输入,避免同一份日志重复上报到Splunk服务端

内容的提问来源于stack exchange,提问作者Shreya Patni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 07:24:01