因此,我疯狂地尝试将 rsyslog 中的可排序时间戳放入 CEE 变量中,然后将其发送到 ElasticSearch。现在我正在使用:
set $!tgen = $timegenerated;
该字段看起来像“4 月 4 日 13:52:26”——对于排序毫无用处。
从http://www.rsyslog.com/doc/property_replacer.html看起来 rsyslog 有一个语法可以做我想要的事情:
%timegenerated:::unixtimestamp%
但是这是针对字符串模板的,我不确定如何像上面一样将其结果分配给 CEE 变量。看起来 rsyslog 的不同语言在这里发挥作用,你不能轻易地混合它们。
谢谢您的指点!
答案1
简单的答案是模板构造就是模板构造。它们可以在字符串模板中使用,但不能分配给变量(这有很深的技术和历史原因)。不幸的是,您要求的日期转换目前还不能通过脚本实现。通过邮件列表请求它可能有意义(但我现在很忙 - 我会看看我是否能安排好,但 ML 是一种更好的沟通方式)。