当前位置: 首页 > article >正文

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

返回结果

在这里插入图片描述


http://www.kler.cn/a/280632.html

相关文章:

  • 【k8s】Kubernetes初步
  • 2024羊城杯 Web Wp
  • 前端学习Day33
  • 使用 PowerShell 自动化 Windows 系统管理任务
  • React 入门第四天:理解React中的路由与导航
  • MySQL 中间件 MySQL-Router
  • 黑神话悟空用什么编程语言
  • OSPF路由协议详解
  • Python中的JSON处理:json库使用详解
  • 深圳MES制造管理系统在企业中的应用
  • 谷歌浏览器http自动跳转https问题
  • 【Hot100】LeetCode—46. 全排列
  • Java中常用的API
  • 【Python机器学习】NLP分词——利用分词器构建词汇表(三)——度量词袋之间的重合度
  • SQL,给连续的行加上标识序号
  • 第六届机器人与智能制造技术国际会议 (ISRIMT 2024)
  • 【C++ Primer Plus习题】6.4
  • 数据可视化大屏模板-美化图表
  • I get HttpClient.Timeout Error in C# OpenAI library
  • 【jvm】虚拟机栈会oom吗