gpt4 book ai didi

elasticsearch - 如何按 Docker 实例对 Elastic Stack 警报进行分组?

转载 作者:行者123 更新时间:2023-11-29 02:53:25 25 4
gpt4 key购买 nike

某个周期性任务应该每分钟发生一次。当它在阈值警报中出现以下情况时,我可以发送警报。

WHEN count() GROUPED OVER top 1 'periodicTaskLog' IS BELOW 1 FOR THE LAST 2 minutes

(使用基本的 Watch 创建 GUI。如果需要,我可以使用 Advanced Watch JSON。)

我的复杂情况:此任务在 2 个或更多 Docker 实例中分别发生,我想检查它们中没有一个被阻止。 (这是在 Google AppEngine 灵活环境中。)

我想说“关键 periodicTaskLog 必须在每个实例中每分钟发生一次。否则发送警报。”

我有字段 instance_name。每个实例的名称都是任意值,例如 "a58hgh12g2""h9mm48dfh",在每个部署中都不同。因此,我无法编写条件代码以将这些名称包含为文字。

那么,我该如何分组呢?

最佳答案

查看答案 here

{
"trigger": {
"schedule": {
"interval": "10s"
}
},
"input": {
"search": {
"request": {
"search_type": "query_then_fetch",
"indices": [
"packetbeat-*"
],
"types": [],
"body": {
"size": 0,
"query": {
"match_all": {}
},
"aggs": {
"unique_beat_names": {
"terms": {
"field": "ip",
"size": 5
},
"aggs": {
"response_code": {
"filter": {
"exists": {
"field": "dns.response_code"
}
}
}
}
}
}
}
}
}
},
"condition": {
"script": {
"source": "ctx.vars.missing=false;for (def beat_name : ctx.payload.aggregations.unique_beat_names.buckets){if(beat_name.doc_count == 0 || beat_name.response_code.doc_count == 0){ctx.vars.missing=true;}}return ctx.vars.missing;",
"lang": "painless"
}
},
"actions": {
"my-logging-action": {
"logging": {
"level": "info",
"text": "Oh yea"
}
}
}
}

关于elasticsearch - 如何按 Docker 实例对 Elastic Stack 警报进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50200358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com