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

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

实现方式

Grafana开启了匿名访问后,F12刷新页面,查看面板的实际访问路径、请求头部和请求参数。

使用python请求,就可以返回Grafana面板看到的值。

Mysql数据源


python示例代码

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示例代码

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}")

返回结果

相关推荐
摘星编程几秒前
RAG的下一站:检索增强生成如何重塑企业知识中枢?
android·人工智能
fatiaozhang95278 分钟前
基于slimBOXtv 9.19 V2(通刷S905L3A/L3AB)ATV-安卓9-通刷-线刷固件包
android·电视盒子·刷机固件·机顶盒刷机·slimboxtv9.19v2·slimboxtv
左绍骏33 分钟前
01.学习预备
android·java·学习
鹏程十八少42 分钟前
破解Android悬浮窗遮挡无障碍服务难题:我在可见即可说上踩过的坑
android·前端·面试
Kapaseker1 小时前
前端已死...了吗
android·前端·javascript
Winston Wood1 小时前
Android图形与显示系统经典故障解决方案:从源码到实操
android·图形系统·显示系统
Full Stack Developme1 小时前
Mycat 2 实现 MySQL 读写分离,并且实现 主从同步
android·数据库·mysql
Winston Wood2 小时前
Android图形与显示系统:从架构到协作的深度解析
android·图形系统·显示系统
lxysbly2 小时前
psx模拟器安卓版带金手指
android
lxysbly2 小时前
ps1模拟器安卓版带金手指
android·linux·运维