如何在OpenSearch中创建查询最近10秒日志的提取告警?
在OpenSearch中创建带时间范围的告警查询(最近10秒)
要让你的查询只检索最近10秒的日志,只需在原查询基础上添加时间范围过滤,通过bool查询将短语匹配和时间条件结合起来即可。
修改后的查询代码如下:
{ "query": { "bool": { "must": [ { "match_phrase": { "log": { "query": "happy world", "slop": 3, "analyzer": "standard", "zero_terms_query": "none" } } }, { "range": { "@timestamp": { "gte": "now-10s", "lte": "now" } } } ] } } }
关键说明:
bool.must:确保两个条件同时满足——既匹配指定短语,又落在最近10秒的时间范围内。range条件:这里使用@timestamp作为时间字段(OpenSearch的默认时间字段),如果你的日志使用自定义时间字段(比如log_time),直接替换成对应的字段名即可。now-10s:OpenSearch支持的相对时间语法,表示当前时间往前推10秒,now代表当前时间。
内容的提问来源于stack exchange,提问作者khushal kunjir
相关产品推荐
相关产品推荐

