【Grafana】通过api请求Grafana Datasource获取数据

可以通过api请求Grafana Datasource获取数据,以此解决一部分想从Grafana获取数据的需求(有毒的需求),按道理说应该通过脚本或程序直接从数据源中获取

实现方式

    Grafana开启了匿名访问后,F12刷新页面,查看面板的实际访问路径、请求头部和请求参数。
    使用python请求,就可以返回Grafana面板看到的值。

Mysql数据源


在这里插入图片描述

在这里插入图片描述

python示例代码

import requests
import json

########### MYSQL数据源查询 ###########
# 构造MYSQL请求头
headers = {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
}

# 构造请求体
data = {"from": "1724742305825", "to": "1724742605825", "queries": [
    {"refId": "A", "intervalMs": 60000, "maxDataPoints": 689, "datasourceId": 6, "rawSql": "select version()",
     "format": "table"}]}

# 发送 POST 请求
url = 'http://192.168.113.118:3000/api/ds/query'

response = requests.post(url, headers=headers, data=json.dumps(data))

# 处理响应
if response.status_code == 200:
    # 成功获取响应
    result = response.json()
    print(json.dumps(result))
else:
    print(f"请求失败,状态码: {response.status_code}")

返回结果

在这里插入图片描述

Prometheus数据源

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

python示例代码

import requests
import json

########### Prometheus数据源查询 ###########
headers = {
    'Accept': 'application/json, text/plain, */*',
    'Content-Type': 'application/x-www-form-urlencoded'
}

data = 'query=up%7Binstance%3D%22192.168.113.127%3A9308%22%2Cjob%3D%22kafka%22%7D%09&start=1724722380&end=1724743980&step=30'
url = 'http://192.168.113.118:3000/api/datasources/proxy/3/api/v1/query_range'

response = requests.post(url, headers=headers, data=data)

# 处理响应
if response.status_code == 200:
    # 成功获取响应
    result = response.json()
    print(json.dumps(result))
else:
    print(f"请求失败,状态码: {response.status_code}")

返回结果

在这里插入图片描述

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Grafana 是一款功能强大的数据可视化工具,而 grafana-api-datasource 则是 Grafana 的一个插件。这个插件的作用是可以从外部的 API 接口获取 JSON 数据,并将这些数据解析出来用于 Grafana数据展示。 使用 grafana-api-datasource 插件,我们可以通过调用外部的 API 接口获取需要展示的数据。这些 API 接口返回的数据通常是以 JSON 格式进行返回的,而 grafana-api-datasource 可以解析并读取这些数据。这样,我们就能够将外部的数据Grafana 的可视化功能相结合,展示出更加丰富和有意义的图表和面板。 使用 grafana-api-datasource 插件,我们可以配置数据源并指定 API 的地址和相应的参数。插件会通过调用这个 API 接口获取数据,并将返回的 JSON 数据解析出来。解析后的数据可以被 Grafana 使用,我们可以根据需要选择展示的字段和指标,创建相应的仪表盘和图表。 这个插件的好处在于,它提供了与外部系统集成的能力。我们可以从各种各样的数据源中获取数据,比如数据库、第三方 API 以及其他服务。无论是获取实时数据还是历史数据,我们只需要通过配置相应的 API 接口grafana-api-datasource 插件就可以帮助我们获取和展示这些数据。 总之,grafana-api-datasourceGrafana 的一个插件,它可以通过调用外部的 API 接口获取 JSON 数据并解析出来。这个插件的作用在于,让 Grafana 可以与各种外部的数据源进行集成,将这些数据以更直观和有意义的方式展示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值