插件 〉JSON Fetcher
JSON Fetcher
Grafana API 后端数据源插件
- 这是一个 Grafana 数据源插件,用于从 HTTP API 获取数据
- 通过在数据源配置页面设置 JSON Schema,可以自定义查询编辑器中的用户输入
- 现在最终用户可以在查询编辑器中创建查询,而无需理解 JSON
- 由于是后端数据源插件,也支持告警功能
插件安装
- 从 https://github.com/nagasudhirpulla/grafana-api-backend-datasource/releases/ 下载插件
- 解压并将文件夹粘贴到 Grafana 安装目录的 data/plugins 文件夹中
- 重启 Grafana
- 应该会出现一个名为
JSON Fetcher
的数据源
为查询负载创建 JSON Schema
- 您可以在 此处 从示例查询负载 JSON 生成 JSON Schema
示例 JSON Schema
- 将以下内容粘贴到 json-backend 数据源设置屏幕的查询 Schema 文本框中
{
"description": "Query Schema",
"properties": {
"fetchCached": {
"default": true,
"description": "Whether cached data fetching is ok",
"title": "Fetch Cached?",
"type": "boolean"
},
"measId": {
"default": "",
"description": "Measurement ID",
"maxLength": 20,
"minLength": 15,
"title": "Measurement ID",
"type": "string"
},
"samplingSecs": {
"default": 60,
"description": "Sampling Freq. in secs",
"multipleOf": 2,
"title": "Sampling Freq (in secs)",
"type": "integer"
},
"samplingType": {
"default": "snap",
"enum": [
"snap",
"average",
"max",
"min",
"sum"
],
"title": "Sampling Type",
"type": "string"
}
},
"title": "Query Editor GUI",
"type": "object"
}
- 此数据源的 Grafana 查询编辑器将如下所示
- 在查询检查器中可以看到,JSON 负载是从用户输入生成的,并且请求已发送
API 需要实现的端点
- 插件要求 API 服务器实现这些端点
- API 服务器应该在
/
监听 GET 请求,并返回 200 OK 状态码作为健康检查端点的实现 - API 服务器应该在
/
监听 POST 请求以使用数据响应查询。POST 请求正文将包含查询信息,如序列名称、开始和结束时间戳、查询负载等。响应应该包含单个序列的时间戳和值。 - Grafana 发送到 API 服务器的示例 API 请求可能如下所示
{
"RefID": "A",
"QueryType": "",
"MaxDataPoints": 974,
"Interval": 60000000000,
"TimeRange": {
"From": "2022-10-08T00:00:00+05:30",
"To": "2022-10-08T14:44:09.586+05:30"
},
"JSON": {
"refId": "A",
"alias": "abcd",
"payload": "{\"fetchCached\":true,\"measId\":\"abcd\",\"samplingType\":\"snap\",\"samplingSecs\":60}",
"bucketAggs": [
{
"field": "@timestamp",
"id": "2",
"settings": {
"interval": "auto"
},
"type": "date_histogram"
}
],
"datasource": "JSON Fetcher",
"datasourceId": 10,
"intervalMs": 60000,
"maxDataPoints": 974,
"metrics": [
{
"id": "1",
"type": "count"
}
],
"query": "",
"timeField": "@timestamp"
}
}
- 示例 API 响应可能如下所示
{
"frames":[
{
"columns":[
{"name": "@timestamp", "values": [1665216413748, 1665219977028], "labels": null},
{"name": "abcd", "values": [5, 10], "labels": null}
]
}
]
}
响应中的时间应该是以秒为单位的 UNIX 时间戳
数据流
开发者文档
开发者文档可以在 此处 找到
在 Grafana Cloud 上安装 JSON Fetcher
在 Grafana Cloud 实例上安装插件是一键式操作;更新也是一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式操作;更新也是一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式操作;更新也是一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式操作;更新也是一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式操作;更新也是一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式操作;更新也是一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
在 Grafana Cloud 实例上安装插件是一键式操作;更新也是一样。很酷,对吧?
请注意,插件可能需要最多 1 分钟才能在您的 Grafana 中显示。
更多信息,请访问有关插件安装的文档。
在本地 Grafana 上安装
对于本地实例,插件通过简单的 CLI 命令安装和更新。插件不会自动更新,但您会在 Grafana 中收到更新可用时的通知。
1. 安装数据源
使用 grafana-cli 工具从命令行安装 JSON Fetcher
grafana-cli plugins install
插件将安装到您的 Grafana plugins 目录中;默认目录是 /var/lib/grafana/plugins。更多关于 cli 工具的信息。
2. 配置数据源
从 Grafana 主菜单访问,“数据源”部分可以立即添加新安装的数据源。
接着,点击右上角的“添加数据源”按钮。数据源将可在“类型”选择框中选择。
要查看已安装数据源列表,请点击主菜单中的“插件”项。核心数据源和已安装数据源都将显示。
更新日志
1.0.0 (未发布)
初始发布。