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>"
},
Danke und es hat funktioniert. – svjn
Dies für die Dokumentation der Schnurrbart, hier einige gute Beispiele https://mustache.github.io/mustache.5.html –