我想从具有不同 IP 地址的不同应用程序收集一些日志,并将其从中央服务器发送到 syslog 服务器。现在的问题是:如何将消息从中央服务器发送到具有原始 IP 地址的 syslog 服务器?
答案1
由于您没有指定任何实际工具和配置,因此您只能获得一般级别的答案。
由于提到了 Syslog,我假设你正在使用Syslog 协议(RFC 5424)。Syslog 消息格式有一个HOSTNAME
用于原始主机名的字段。如果您的实现基于协议,则应该有原始服务器的主机名(或 IP,如果没有可用的 FQDN),而不是任何中间日志服务器。
HOSTNAME 字段标识最初发送 syslog 消息的机器。
实际上,并非所有 syslog 应用程序都能够提供 FQDN。因此,HOSTNAME 中也可能存在其他值。本文档规定了在这种情况下使用其他值的方法。syslog 应用程序应首先提供最具体的可用值。HOSTNAME
字段内容的优先顺序如下
:
完整限定域名 (FQDN)
静态 IP 地址
主机名
动态IP地址
零值
如果你正在使用Windows 事件日志 API,相反,还有一个包含类似信息的元素:
元素发生事件的计算机的名称。
<xs:element name="Computer" type="string" />
因此,如果您使用标准工具,您的日志系统将默认满足这些要求。如果您不使用其中任何一种,您的问题中没有足够的信息来说明。坦率地说,使用这些标准化的集中式日志记录方法会容易得多。