Как получить значения переменных в запущенном оповещении в сервисе AWS ElasticSearch? - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь опубликовать подробное сообщение об Slack от триггера предупреждений монитора AWS ElasticSearchService.Я пытался использовать переменные, как в описании https://opendistro.github.io/for-elasticsearch-docs/docs/alerting/monitors/

Оповещения запускаются и публикуются в Slack, но большинство переменных пустые, когда я пытаюсь использовать их в действии.Я получаю информацию только от 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
        }
    }
}

1 Ответ

0 голосов
/ 10 июля 2019

Синтаксис триггера использует шаблоны 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}}
...