如何将 Elasticsearch 的脚本化指标聚合与 Grafana 结合使用

How to use Elasticsearch's scripted metric aggregations with Grafana

我正在尝试在 grafana 中显示 elasticsearch scripted aggregation。 我无法弄清楚在 grafana UI

中设置聚合脚本的位置

Elasticsearch 聚合

{
  "scripted_metric": {
    "init_script": "_agg['transactions'] = []",
    "map_script": "if (doc['type'].value == \"sale\") { _agg.transactions.add(doc['amount'].value) } else { _agg.transactions.add(-1 * doc['amount'].value) }",
    "combine_script": "profit = 0; for (t in _agg.transactions) { profit += t }; return profit",
    "reduce_script": "profit = 0; for (a in _aggs) { profit += a }; return profit"
  }
}

Grafana UI

曾几何时,可以切换 elasticsearch 的查询公式模式,类似于 Graphite 的可用模式。遗憾的是,此功能已被删除,但有一个相当受欢迎的功能请求将其恢复。您可以在此处仔细阅读问题的当前状态:https://github.com/grafana/grafana/issues/5428