2016-03-22 6 views
1

Ich arbeite an ELK-Watcher, um eine Warnung zu erstellen, die ein Array von Wert sendet mit 'Transform' Mapping umgewandelt.Elasticsearch watcher E-Mail-Array-Wert

"transform": { 
    "script": "return [ err_yest : ctx.payload.aggregations.errorcount.buckets.collect { [err_count:it.doc_count, list_errors: it.errs.buckets.collect{[emsg:it.key,emsc:it.doc_count]}] } ]" 
}, 

Gibt es eine Möglichkeit, die Array-Werte im Body der E-Mail-Warnung mit einer beliebigen Schleifenmethode zu drucken? Ich habe grooviges Scripting versucht, aber es wurde ein Fehler gemeldet, der besagt, dass es nicht unterstützt wird. Alles, was ich tun könnte, ist, die Werte wie unten im Array manuell auszugeben.

"body" : { 
      "html": "<table width='400px' border='1'><thead><tr><th colspan='4'>Error Messages</th></tr><tr><th colspan='2'>Yesterday</th><th colspan='2'>Today</th></tr></thead><tbody><tr><td>{{ctx.payload.err_yest.0.list_errors.0.emsc}}</td><td align='center'>{{ctx.payload.err_yest.0.list_errors.0.emsg}}</td><td>{{ctx.payload.err_yest.1.list_errors.0.emsc}}</td><td align='center'>{{ctx.payload.err_yest.1.list_errors.0.emsg}}</td></tr><tr><td>{{ctx.payload.err_yest.0.list_errors.1.emsc}}</td><td align='center'>{{ctx.payload.err_yest.0.list_errors.1.emsg}}</td><td>{{ctx.payload.err_yest.1.list_errors.1.emsc}}</td><td align='center'>{{ctx.payload.err_yest.1.list_errors.1.emsg}}</td></tr><tr><td>{{ctx.payload.err_yest.0.list_errors.2.emsc}}</td><td align='center'>{{ctx.payload.err_yest.0.list_errors.2.emsg}}</td><td>{{ctx.payload.err_yest.1.list_errors.2.emsc}}</td><td align='center'>{{ctx.payload.err_yest.1.list_errors.2.emsg}}</td></tr></tbody></table>" 
     }, 

Antwort

4

Sie benötigen

Die Syntax Schnurrbart Templat verwenden so etwas wie dieses:

{{#ctx.payload.err_yest}} {{#list_errors}} {{emsc}} {{/list_errors}}{{/ctx.payload.err_yest}} 

Diese Schleife wird über alle Objekte in err_yest dann Schleife über alle list_errors für eine err_yest Objekt und Anzeige esmc

+0

Danke und es hat funktioniert. – svjn

+0

Dies für die Dokumentation der Schnurrbart, hier einige gute Beispiele https://mustache.github.io/mustache.5.html –

Verwandte Themen