Curl 如何将事件标记为“事件”;看",;藏匿
因此,我使用此查询查询Logstash,它返回堆栈顶部的所有内容:Curl 如何将事件标记为“事件”;看",;藏匿,curl,elasticsearch,get,logstash,put,Curl,elasticsearch,Get,Logstash,Put,因此,我使用此查询查询Logstash,它返回堆栈顶部的所有内容: { "query": { "match_all": { } }, "size": 7, "_source": { "includes": [ "transport", "dest", "packet_source", "id_orig_p", "id_orig_p", "id_orig_h", "conn_state", "id_resp_h", "id_resp_p", "service", "proto" ] } , "so
{
"query": {
"match_all": { }
},
"size": 7,
"_source": {
"includes": [ "transport", "dest", "packet_source", "id_orig_p", "id_orig_p", "id_orig_h", "conn_state", "id_resp_h", "id_resp_p", "service", "proto" ]
} ,
"sort": [
{
"@timestamp": {
"order": "desc"
}
}
]
}
但是,当我查询数据时,如果没有新数据进入,我会得到重复的数据。有没有办法用整型字段或其他东西将每个唯一的事件id标记为“LookedAt”
我需要这样做以减少C#中查询的垃圾收集,但存储所有ID和进行字符串比较相当繁重,而且在我有日志存储时似乎没有必要。我建议使用时间戳并将其包含在查询中。例如,从第一次查询的结果中,您可以获取最新事件(即结果中的第一个)的时间戳,然后在进行第二次查询时,您请求时间戳高于该时间戳的事件 因此,您进行第一个查询:
{
"query": {
"match_all": {}
},
"size": 7,
"_source": {
"includes": [
"transport",
...
]
},
"sort": [
{
"@timestamp": {
"order": "desc"
}
}
]
}
然后说,在结果中,最新事件的时间戳是2017-02-28T10:02:23.000Z
下一个查询将是:
{
"query": {
"range": {
"timestamp": {
"gt": "2017-02-28T10:02:23.000Z"
}
}
},
"size": 7,
"_source": {
"includes": [
"transport",
...
]
},
"sort": [
{
"@timestamp": {
"order": "desc"
}
}
]
}
依此类推,您将保证不会有重复的事件。这样做时,我会得到以下错误:
{“error”:{“root_cause”:[{“type”:“parsing_exception”,“reason”:“[range]query不支持[runtime_timestamp],“line”:5,“col”:9}],“type”:“解析_异常”,“原因”:“[range]查询不支持[runtime_timestamp]”,“line”:5,“col”:9},“status”:400}
您的runtime_timestamp
字段的类型是什么?很高兴它有帮助!