我在使用Elastic作为日志存储方面有一些经验,但是我在一段时间内仍无法掌握基本趋势识别(我需要将发现的文档彼此进行比较)。
简单的查询将回答以下问题:
查找所有出现的文档行(行由增长/连续@timestamp值指定),其中特定字段(例如threads_count)针对固定数量的文档或时间段正在增长。 >
这是非常相似的任务,即查看折线图并通过肉眼识别生长中的部分。
也许我只是错过了正确的搜索功能名称。我对可视化不感兴趣,我想在API上搜索类似情况并采取必要的措施。
欢迎任何对文档或简单示例的引用!
答案 0 :(得分:1)
好的脚本不能在文档之间使用。因此,您将不得不使用有效负载。
在查询中按日期对结果进行排序。
https://www.elastic.co/guide/en/elastic-stack-overview/6.3/how-watcher-works.html
有效负载中的脚本可以告诉您某个字段是否正在增加(类似的事情,现在无法访问es索引)
"transform": {
"script": {
"source": "ctx.payload.transform = []; def current_score = -1;
def current = []; for (int j=0;j<ctx.payload.hits.hits;j++){
//check in the loop if current_score increasing using ctx.payload.hits.hits[j]._source.message], if not return "FALSE"
} ; return "TRUE",
"lang": "painless"
}
}
如果您使用logstash为文档建立索引,那么请看一下过去,这可能也不错:https://www.elastic.co/guide/en/logstash/current/plugins-filters-elapsed.html