我正在使用 Kibana 根据每个微服务的最新值显示多个微服务的状态。我想用 2 分钟前或 2 分钟 21 秒前的格式替换 2019 年 4 月 8 日 14:37:13.173 格式。我知道我可以过滤过去 15 分钟的 Kibana 数据条目,但这并不能显示每个服务更新的时间。
我已经尝试进入索引模式并更改日期模式,但它不包含函数,而只包含格式。我可以添加另一个每分钟发送一次的字段,但这只会浪费资源并使一切复杂化。
我正在使用 Kibana 根据每个微服务的最新值显示多个微服务的状态。我想用 2 分钟前或 2 分钟 21 秒前的格式替换 2019 年 4 月 8 日 14:37:13.173 格式。我知道我可以过滤过去 15 分钟的 Kibana 数据条目,但这并不能显示每个服务更新的时间。
我已经尝试进入索引模式并更改日期模式,但它不包含函数,而只包含格式。我可以添加另一个每分钟发送一次的字段,但这只会浪费资源并使一切复杂化。
一旦我知道脚本字段存在,我就能够解决这个问题,所以这就是我用来显示更新多久之前的内容:
if(Math.round((new Date().getTime()-doc['@timestamp'].value)/1000)>7200){
return Math.round((new Date().getTime()-doc['@timestamp'].value)/3600000) + " hours ago";
}else if(Math.round((new Date().getTime()-doc['@timestamp'].value)/1000)>3600){
return Math.round((new Date().getTime()-doc['@timestamp'].value)/3600000) + " hour ago";
}else if(Math.round((new Date().getTime()-doc['@timestamp'].value)/1000)>120){
return Math.round((new Date().getTime()-doc['@timestamp'].value)/60000) + " minutes ago";
} else if(Math.round((new Date().getTime()-doc['@timestamp'].value)/1000)>60){
return Math.round((new Date().getTime()-doc['@timestamp'].value)/60000) + " minute ago";
}else {
return Math.round((new Date().getTime()-doc['@timestamp'].value)/1000) + " seconds ago";
}