我正在尝试通过AWS ElasticSearchService Monitor Alert Alert在Slack上发布详细消息。我试图使用描述中的变量 https://opendistro.github.io/for-elasticsearch-docs/docs/alerting/monitors/
正在触发警报并将其发布在Slack上,但是当我尝试将其实际使用时,大多数变量为空。我仅从console.log(dateNew.format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ [(]zz[)]'))
Mon Jul 08 2019 03:05:22 GMT-0700 (Pacific Daylight Time)
,ctx.trigger.name
,ctx.periodStart
获得信息。 ctx.periodEnd
,ctx.trigger.condition
,ctx.results[0]
,ctx.error
之类的变量为空,而文档则说ctx.results[0].hits.total
将被填充,如果ctx.error
为空
如何获取更多数据?我的查询在某种程度上限制了它吗?
我的Monitor提取查询如下:
ctx.results[0]
答案 0 :(得分:0)
触发器语法使用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}}