elasticsearch 如何通过API获取Grafana中表面板中的行数?
问题本身就说明了这一点,我知道最新的Grafana可以选择检查UI本身中的面板,但我想通过API公开给定表中的行数。我想写一个处理行数的自动化代码,但是,我想不出一个更简单的方法。我正在处理的grafana正在使用elasticsearch节点进行查询。更新: 我没有找到任何方法通过API端点从Grafana获取行数,但是,我所做的是,我复制了Grafana仪表板为仪表板中给定面板创建的Elasticsearch查询[您可以使用Chrome上的“网络”选项卡复制查询,或者,您可以简单地遵循以下操作:elasticsearch 如何通过API获取Grafana中表面板中的行数?,elasticsearch,grafana,grafana-api,grafana-alerts,elasticsearch,Grafana,Grafana Api,Grafana Alerts,问题本身就说明了这一点,我知道最新的Grafana可以选择检查UI本身中的面板,但我想通过API公开给定表中的行数。我想写一个处理行数的自动化代码,但是,我想不出一个更简单的方法。我正在处理的grafana正在使用elasticsearch节点进行查询。更新: 我没有找到任何方法通过API端点从Grafana获取行数,但是,我所做的是,我复制了Grafana仪表板为仪表板中给定面板创建的Elasticsearch查询[您可以使用Chrome上的“网络”选项卡复制查询,或者,您可以简单地遵循以下操
- 进入面板的下拉列表:
- 按“检查”
- 单击此处的“查询”选项卡:
- 在那里,您将看到查询,复制它并在Elasticsearch查询API中使用它,您将获得所需的JSON响应 ]
def get_rows(data, lev, max_depth):
total_rows = 0
if lev == max_depth and 'key' in data:
total_rows += 1
for key, value in data.items():
if type(value) == dict:
total_rows += get_rows(value, lev, max_depth)
elif type(value) == list:
if key == "buckets":
for val in value:
total_rows += get_rows(val, lev+1, max_depth)
return total_rows
在这里,对于上面的屏幕截图,max_depth=4。希望它能帮助使用Elasticsearch作为数据源的人