如何删除转发时间戳? OSE 版本 Syslog-NG
Posted
技术标签:
【中文标题】如何删除转发时间戳? OSE 版本 Syslog-NG【英文标题】:How to remove forwarding timestamp? OSE version Syslog-NG 【发布时间】:2018-10-31 16:48:33 【问题描述】:关注answer,
我已尝试使用以下配置在 Syslog-NG 3.17 OSE version 中进行更改,
@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
以上配置可以转发消息,如下图(额外的header为粗体):
10 月 31 日 12:44:29 X.X.X.X 5277586: Oct 31 16:44:29.071 UTC: %SYS-3-DUP_TIMER: Same tty2 in linewatch_timers, type 2
X.X.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
通过删除转发时间戳
如何转发需要的格式?
【问题讨论】:
【参考方案1】:如果您想在消息发送时转发消息,$RAWMESSAGE
宏是个好主意,但默认情况下它是空的(因为它会使消息内存占用更大)。
您必须在源配置中添加一个额外的标志flags(...,store-raw-message)
。 (见相关documentation)
您的配置将如下所示:
@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);
;
【讨论】:
以上是关于如何删除转发时间戳? OSE 版本 Syslog-NG的主要内容,如果未能解决你的问题,请参考以下文章
如何将日志从 docker 容器转发到主机 journald/syslog 服务?
使用 docker-compose 将 json 写入 syslog
Spring MVC @Controller中转发或者重定向到其他页面的信息怎么携带和传递(Servlet API对象)HttpServletRequestHttpServletRespose
Spring MVC @Controller中转发或者重定向到其他页面的信息怎么携带和传递(Servlet API对象)HttpServletRequestHttpServletRespose(代码片