For the complete documentation index, see llms.txt. This page is also available as Markdown.

配置远程日志转发(Syslog)

如何配置 VergeOS 将系统日志转发到远程 syslog 服务器,以实现集中日志管理、归档和合规。

可以将 VergeOS 配置为将日志转发到远程 Syslog 服务器;对于利用日志聚合进行集中管理、日志归档和合规的组织而言,这是一项重要能力。

先决条件

  • VergeOS 与远程 syslog 服务器之间的网络连通性

  • 适当的防火墙规则,以允许 syslog 流量(通常为 514 端口)

  • 可访问 VergeOS 系统设置

配置步骤

要将日志转发配置到远程 syslog 服务器:

1. 导航到高级设置

导航到 系统 > 设置 > 高级设置.

2. 配置远程 Syslog 服务器

  1. 在“Setting”列标题下,输入 syslog 并按 Enter 以搜索

  2. 选择并编辑 远程 syslog 服务器(tcp: @@name/ip:port, udp: @name/ip:port)

  3. 根据远程服务器期望的语法配置此设置:

服务器配置示例

  • 对于 TCP: @@10.10.10.10:514

  • 对于 UDP: @10.10.10.10:514

选择 TCP 或 UDP

  • TCP(@@) 提供可靠投递;请将其用于审计和合规日志。

  • UDP(@) 是“发送即忘”:开销更低,但在负载下消息可能丢失。

收集器端口

监听 514 端口需要收集器具有 root 权限。许多收集器以非特权方式运行(例如在容器中),并监听端口 1514 。请输入收集器正在监听的端口。

  1. 单击 提交 页面底部以保存

3. 配置格式模板

  1. 搜索 syslog 再次在设置中

  2. 选择并编辑 用于定义 syslog 服务器的模板(格式请参见 rsyslog)

  3. 输入与远程 syslog 服务器兼容的 syslog 模板格式

模板示例

your-hostname-here 替换为你的实际主机名,或者保留为 .HOSTNAME_HERE 以使用默认系统主机名。

从多个 VergeOS 系统转发

%HOSTNAME% 解析为裸节点名称(node1, node2),这在多个 VergeOS 系统转发到同一收集器时会产生歧义。常见的主机名模式:

模式
示例输出
使用

%HOSTNAME%

node1

单个系统

mycluster-%HOSTNAME%

mycluster-node1

每个系统一个前缀;建议用于多个系统

%HOSTNAME%.mycluster.example.com

node1.mycluster.example.com

FQDN 风格

  1. 单击 提交 在页面底部保存格式

收集器说明

上面的 RFC 5424 模板适用于常见收集器:

收集器
配置说明

Graylog

使用一个 Syslog TCPSyslog UDP 输入。

Loki

使用 Promtail syslog 抓取作业;Promtail 需要严格的 RFC 5424(字面上的 1 版本)。

Splunk

使用 TCP 或 UDP 数据输入,或者使用 Splunk Connect for Syslog。

Elasticsearch

通过 Logstash 使用 syslog 输入插件摄取。

rsyslog 中继

使用标准 imtcpimudp 侦听器。

附加资源

有关 syslog 模板和格式选项的更多信息,请访问 Rsyslog 文档.

验证

保存配置后,VergeOS 会开始向指定服务器转发日志。检查收集器以确认 VergeOS 日志已到达。

如果日志未到达:

  1. 在收集器主机上,抓取配置的 syslog 端口上的流量,以确认数据包到达(替换 514 为你配置的端口):

  2. 检查捕获到的消息以验证线上的格式。RFC 5424 消息以 <PRI>1 (例如, <30>1 2026-04-15T...);版本为 0 表示模板仍在使用 %PROTOCOL-VERSION% ——参见上面的模板警告。

  3. 确保 VergeOS 与收集器之间的防火墙规则允许所配置的端口和协议。

最后更新于

这有帮助吗?