跟随回答,
我尝试在Syslog-NG 3.17 OSE版本中进行更改,配置如下:
@version: 3.17
@include "scl.conf"
options {
};
source s_network_to_forward {
network(
flags(no-parse)
transport(udp)
port(514)
keep-timestamp(no)
persist-name("somekey")
);
};
template forward_template {
template($RAWMSG);
template_escape(no);
};
destination forward_to_syslog2{
network("1.2.3.4" transport(udp) port(514) template(forward_template));
};
log {
source(s_network_to_forward);
destination(forward_to_syslog2);
};消息转发:Oct 31 16:44:29.071 UTC: %SYS-3-DUP_TIMER: Same tty2 in linewatch_timers, type 2
上面的配置能够转发如下所示的消息(以粗体显示额外的标题):
10月31日12:44:29 X.X 5277586: Oct 31 16:44:29.071 UTC: %SYS-3-DUP_TIMER: Same tty2 in linewatch_timers, type 2
其中X.X显示实际发件人地址(如预期)、进程id(5277586)和转发时间戳(Oct 31 12:44:29)
但
期望只转发Oct 31 16:44:29.071 UTC: X.X.X.X 5277586: %SYS-3-DUP_TIMER: Same tty2 in linewatch_timers, type 2
通过移除转发时间戳
如何转发所需格式?
发布于 2018-11-18 18:49:58
如果您想在发送消息时转发消息,$RAWMESSAGE宏是个好主意,但默认情况下它是空的(因为它使消息内存占用更大)。
您必须在源配置中添加一个额外的标志flags(...,store-raw-message)。(参见相关的文档)
您的配置如下所示:
@version: 3.17
@include "scl.conf"
options {
};
source s_network_to_forward {
network(
flags(no-parse,store-raw-message)
transport(udp)
port(514)
keep-timestamp(no)
persist-name("somekey")
);
};
template forward_template {
template("$RAWMSG");
template_escape(no);
};
destination forward_to_syslog2{
network("1.2.3.4" transport(udp) port(514) template(forward_template));
};
log {
source(s_network_to_forward);
destination(forward_to_syslog2);
};https://stackoverflow.com/questions/53088413
复制相似问题