基于JMSActiveMQBrokerInTime在logstash中设置消息的时间戳
目前,我们的日志存储配置为使用基于JMSActiveMQBrokerInTime在logstash中设置消息的时间戳,jms,logstash,activemq,Jms,Logstash,Activemq,目前,我们的日志存储配置为使用jmstiestamp作为@timestamp jms { use_jms_timestamp => true 但当消息从多个服务器发送时,这会导致问题。如果时钟不同步,则消息的顺序是错误的 文档称有jmsativemqbrokerintime属性保存消息到达代理时的时间戳(以毫秒为单位) 当我将jms插件的配置切换为不使用JMSTimestamp时,将根据时间日志设置@timestamp,以存储从队列中拾取的消息。这将给我订购,但时间将关闭时,例
jmstiestamp
作为@timestamp
jms {
use_jms_timestamp => true
但当消息从多个服务器发送时,这会导致问题。如果时钟不同步,则消息的顺序是错误的
文档称有jmsativemqbrokerintime
属性保存消息到达代理时的时间戳(以毫秒为单位)
当我将jms插件的配置切换为不使用JMSTimestamp
时,将根据时间日志设置@timestamp
,以存储从队列中拾取的消息。这将给我订购,但时间将关闭时,例如logstash停止几分钟
如何将jmsactivemqbrokertime
用作@timestamp
我正在使用此配置运行logstash的本地实例
input {
jms {
include_header => true
include_properties => true
include_body => true
interval => 10
use_jms_timestamp => false
destination => "local-logstash-input"
yaml_file => "c:\dev\elk\tests\local_jmsMQ.yml"
yaml_section => "activemq"
}
}
output {
stdout {
codec => json
}
}
我在输出中没有看到这个属性。您能给出
jmsactivemqbrokertime
字段中值的示例吗?它是一个数字。消息到达代理的时间戳(毫秒)。您可以使用date
过滤器将任何日期/时间字段用作@timestamp
字段,我认为您的字段将与解析历元值的模式UNIX_MS匹配。看一看示例,但我在输出中没有看到这个字段。像一个被提到的。