我正在尝试测量使用 ELK 堆栈所涉及的延迟。我正在登录我的测试应用程序,我想了解它需要多长时间才能出现在 ElasticSearch 中。我知道这只是一个粗略的估计,并且非常特定于我的环境。
如何测量我的 app/logstash/elasticsearch 之间的延迟?
编辑:我正在遵循建议并启用了_timestamp但我在记录中看不到该字段。
{
logaggr : {
order : 0,
template : "logaggr-*",
settings : {},
mappings : {
logaggr : {
date_detection : false,
_timestamp : {
enabled : true,
store: true
},
properties : {
level : {
type : "string"
},
details : {
type : "string"
},
logts : {
format : "yyyy-MM-dd HH:mm:ss,SSS",
type : "date"
},
classname : {
type : "string"
},
thread : {
type : "string"
}
}
}
},
aliases : {}
}
}
提前感谢!
有三个时间戳可以回答您的问题:
- 日志文件时间戳,例如应用程序写入信息的时间。 确保服务器的时钟正确。
- @timestamp,由 logstash 设置为接收日志的时间。
- _timestamp,弹性搜索可以将其设置为接收日志的时间。 必须在弹性搜索中启用此设置。
在这三者之间,您可以通过 ELK 跟踪日志的进度。