Syslog-NG:可以禁用 "keep_hostname" 但启用特定过滤器?
Syslog-NG: Possible to disable "keep_hostname" but enable for a specific filter?
想知道这是否可能。我目前面临的情况是,我有一个遗留的 NG 系统,其中集成了许多源。我们正在努力慢慢过渡到这个特定实例,但要做到这一点,我需要确保发出的消息保留其源主机。
不幸的是,在构建这个遗留环境时,keep_hostname
选项设置为 false,这意味着工程师专注于源日志特定 HOST
提取。
在我努力将数据传输到新系统时,我需要数据保留其源主机名。理想情况下,只需将 keep_hostname
翻转为 yes
,但现在风险太大,因为它可能会影响整个系统中数据的解析方式。
我的问题是,虽然 keep_hostname
是全局禁用的,但有没有办法在 filter
或 destination
内启用它?
使用全局禁用的 keep-hostname()
选项执行此操作是不可能的,因为原始主机信息已丢失。
当使用 keep-hostname(no)
时,可以启用名为“store-raw-message”的功能,它将整个传入消息存储在 $RAWMSG
宏中。原始邮件肯定包含原始主机名,但是您可以从整个邮件中提取主机名。
My ask is, while keep_hostname is globally disabled, is there a way that I can enable it within a filter or destination?
你可以反过来实现类似的东西:
将 keep-hostname()
设置为 yes
可保持原始主机名不变,但您将拥有 2 个不同的宏:
$HOST
包含原始主机名
$HOST_FROM
包含“源的”主机名
应用用 $HOST_FROM 覆盖 $HOST 的重写规则可以添加到您想要保留旧行为的路径。
想知道这是否可能。我目前面临的情况是,我有一个遗留的 NG 系统,其中集成了许多源。我们正在努力慢慢过渡到这个特定实例,但要做到这一点,我需要确保发出的消息保留其源主机。
不幸的是,在构建这个遗留环境时,keep_hostname
选项设置为 false,这意味着工程师专注于源日志特定 HOST
提取。
在我努力将数据传输到新系统时,我需要数据保留其源主机名。理想情况下,只需将 keep_hostname
翻转为 yes
,但现在风险太大,因为它可能会影响整个系统中数据的解析方式。
我的问题是,虽然 keep_hostname
是全局禁用的,但有没有办法在 filter
或 destination
内启用它?
使用全局禁用的 keep-hostname()
选项执行此操作是不可能的,因为原始主机信息已丢失。
当使用 keep-hostname(no)
时,可以启用名为“store-raw-message”的功能,它将整个传入消息存储在 $RAWMSG
宏中。原始邮件肯定包含原始主机名,但是您可以从整个邮件中提取主机名。
My ask is, while keep_hostname is globally disabled, is there a way that I can enable it within a filter or destination?
你可以反过来实现类似的东西:
将 keep-hostname()
设置为 yes
可保持原始主机名不变,但您将拥有 2 个不同的宏:
$HOST
包含原始主机名$HOST_FROM
包含“源的”主机名
应用用 $HOST_FROM 覆盖 $HOST 的重写规则可以添加到您想要保留旧行为的路径。