如何在 AWS ElasticSearch Service 的触发警报中获取变量值?
How to get variable values in triggered alert in AWS ElasticSearch Service?
我正在尝试 post 来自 AWS ElasticSearchService Monitor Alert Trigger 关于 Slack 的详细消息。我试过按照描述使用变量
https://opendistro.github.io/for-elasticsearch-docs/docs/alerting/monitors/
警报被触发并在 Slack 上 posted,但是当我尝试在操作中使用它们时,大多数变量都是空的。我只从 ctx.trigger.name
、ctx.periodStart
、ctx.periodEnd
获取信息。 ctx.trigger.condition
、ctx.results[0]
、ctx.error
、ctx.results[0].hits.total
等变量是空的,而文档说 ctx.error
将被填充,如果 ctx.results[0]
是空的.
如何获取更多数据?我的查询是否以某种方式限制了它?
我的监视器提取查询如下:
{
"size": 20,
"query": {
"constant_score": {
"filter": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"from": "now-1m",
"to": null,
"include_lower": true,
"include_upper": true,
"boost": 1
}
}
}
],
"must_not": [
{
"match": {
"status": {
"query": "200",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"boost": 1
}
}
}
触发器语法使用 Mustache 模板 (man page),不全面。诀窍是遍历结果并引用这样的变量:
- Total hits: {{#ctx.results}}{{#hits}}{{total}}{{/hits}}{{/ctx.results}}
- Period start: {{ctx.periodStart}}
- Period end: {{ctx.periodEnd}}
- HTTP errors:
{{#ctx.results}}
{{#hits}}
{{#hits}}
{{#_source}} ip:{{ip}} status: {{status}} : {{error.message}} at path: {{path}} {{/_source}}
{{/hits}}
{{/hits}}
{{/ctx.results}}
我正在尝试 post 来自 AWS ElasticSearchService Monitor Alert Trigger 关于 Slack 的详细消息。我试过按照描述使用变量 https://opendistro.github.io/for-elasticsearch-docs/docs/alerting/monitors/
警报被触发并在 Slack 上 posted,但是当我尝试在操作中使用它们时,大多数变量都是空的。我只从 ctx.trigger.name
、ctx.periodStart
、ctx.periodEnd
获取信息。 ctx.trigger.condition
、ctx.results[0]
、ctx.error
、ctx.results[0].hits.total
等变量是空的,而文档说 ctx.error
将被填充,如果 ctx.results[0]
是空的.
如何获取更多数据?我的查询是否以某种方式限制了它?
我的监视器提取查询如下:
{
"size": 20,
"query": {
"constant_score": {
"filter": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"from": "now-1m",
"to": null,
"include_lower": true,
"include_upper": true,
"boost": 1
}
}
}
],
"must_not": [
{
"match": {
"status": {
"query": "200",
"operator": "OR",
"prefix_length": 0,
"max_expansions": 50,
"fuzzy_transpositions": true,
"lenient": false,
"zero_terms_query": "NONE",
"auto_generate_synonyms_phrase_query": true,
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"boost": 1
}
}
}
触发器语法使用 Mustache 模板 (man page),不全面。诀窍是遍历结果并引用这样的变量:
- Total hits: {{#ctx.results}}{{#hits}}{{total}}{{/hits}}{{/ctx.results}}
- Period start: {{ctx.periodStart}}
- Period end: {{ctx.periodEnd}}
- HTTP errors:
{{#ctx.results}}
{{#hits}}
{{#hits}}
{{#_source}} ip:{{ip}} status: {{status}} : {{error.message}} at path: {{path}} {{/_source}}
{{/hits}}
{{/hits}}
{{/ctx.results}}