如何在Kibana ElasticSearch开放发行版中使用触发器变量

ldxq2e6h  于 2022-12-09  发布在  Kibana
关注(0)|答案(1)|浏览(211)

我正在使用ElasticSearch打开发行版。这是我的触发条件:

for (int i = 0; i < ctx.results[0].hits.hits.length; i++) {

    if(2 < ctx.results[0].hits.hits[i]._source.responseTime) {
      score = true;
    } else {
      score = false;
    }

}
return score;

我正在尝试发送消息,其中包含我的源的具体详细信息以及API URL和响应时间,如下所示,仅适用于所有发出的警报(我们如何确保):

Monitor {{ctx.monitor.name}} just entered alert status. Please investigate the issue.
- **API Url : {{ctx.results.0.hits.hits.0._source.msg}} and response time {{ctx.results.0.hits.hits.0._source.responseTime}}** -- **need details only for raised alerts**
- Trigger: {{ctx.trigger.name}}
- Severity: {{ctx.trigger.severity}}
w3nuxt5m

w3nuxt5m1#

//painless trigger script
def errorCodes = new ArrayList();
for (def item : ctx.results[0].aggregations.mystats.bysats.buckets) {
   if(item.val1 > 5) {
       resMessate.add(item.key);
    }
} 
// at the end..

ctx.results[0].hits["customerror"] = errorCodes;  `



//Now the custom error can be accessed from trigger Action template message format

//i.e

{
    {{#ctx.results.0.hits.customerror}}
        "erroIn": {{.}}     
    {{/ctx.results.0.hits.customerror}}
}

相关问题