如何将 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
我正在尝试在 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