插件 〉节点图 API
节点图 API
适用于 Grafana 的节点图 API 插件
此插件提供了一个数据源,用于将 REST API 连接到 Grafana 的节点图面板。它已由 Grafana 签名并发布。
要求
- Grafana 7.5+
开始使用
通过 grafana-cli 工具安装
使用 grafana-cli 工具从命令行安装 Node Graph API
grafana-cli plugins install hamedkarbasi93-nodegraphapi-datasource
该插件将安装到您的 grafana 插件目录中;默认目录是 /var/lib/grafana/plugins
。更多关于 cli 工具的信息。
通过 zip 文件安装
或者,您可以手动下载最新发布的 .zip 文件,并将其解压到您的 grafana 插件目录中;默认目录是 /var/lib/grafana/plugins
。
插件配置
现在您可以添加数据源了。只需输入您的 API 应用的 URL,然后点击“保存并测试”。连接失败时将显示错误。
在 Grafana 仪表盘中,选择节点图面板并可视化图形。
关于应用访问的说明
- 版本 0.x.x 在直接模式下工作。也就是说,浏览器必须能够访问 API 应用。
- 版本 1.x.x+ 在代理模式下工作。也就是说,Grafana 服务器应该能够访问 API 应用。
API 配置
REST API 应用应该处理三个请求:fields、data 和 health。下面将进行描述。
获取图字段
此路由返回参数表中定义的节点和边字段。它有助于插件为图形创建所需的参数。对于节点,需要 id
字段;对于边,需要 id
、source
和 target
字段。其他字段是可选的。
端点:/api/graph/fields
方法:GET
内容类型:application/json
内容格式示例
{
"edges_fields": [
{
"field_name": "id",
"type": "string"
},
{
"field_name": "source",
"type": "string"
},
{
"field_name": "target",
"type": "string"
},
{
"field_name": "mainStat",
"type": "number"
}
],
"nodes_fields": [
{
"field_name": "id",
"type": "string"
},
{
"field_name": "title",
"type": "string"
},
{
"field_name": "mainStat",
"type": "string"
},
{
"field_name": "secondaryStat",
"type": "number"
},
{
"color": "red",
"field_name": "arc__failed",
"type": "number"
},
{
"color": "green",
"field_name": "arc__passed",
"type": "number"
},
{
"displayName": "Role",
"field_name": "detail__role",
"type": "string"
}
]
}
获取图数据
此路由返回图数据,用于可视化。
端点:/api/graph/data
方法:GET
内容类型:application/json
数据格式示例
{
"edges": [
{
"id": "1",
"mainStat": "53/s",
"source": "1",
"target": "2"
}
],
"nodes": [
{
"arc__failed": 0.7,
"arc__passed": 0.3,
"detail__zone": "load",
"id": "1",
"subTitle": "instance:#2",
"title": "Service1"
},
{
"arc__failed": 0.5,
"arc__passed": 0.5,
"detail__zone": "transform",
"id": "2",
"subTitle": "instance:#3",
"title": "Service2"
}
]
}
有关变量的更多详细信息,请访问此处。
健康检查
此路由用于测试 API 的健康状况,在添加插件时由“保存并测试”操作使用(入门部分第二部分)。目前,它只需要在成功连接时返回 200
状态码。
端点:/api/health
方法:GET
成功状态码:200
API 示例
在 example
文件夹中,您可以找到一个用 Python Flask 编写的简单 API 应用。
要求
- flask
运行
python run.py
应用程序将在 https://:5000
启动
查询配置
您可以通过“查询字符串”将查询字符串传递给图的数据端点。与其他查询一样,您也可以利用变量
使用定义为 processors
的变量 $service
,上述查询将生成此端点:/api/graph/data?query=text1&service=processors
自行编译数据源
安装依赖项
yarn install
在开发模式下构建插件或在监视模式下运行
yarn dev
或
yarn watch
在生产模式下构建插件
yarn build
路线图
- <input checked="" disabled="" type="checkbox"> 在代理模式下使用 BackenSrv。这将消除客户端浏览器连接 API 服务器的必要性。
- <input disabled="" type="checkbox"> 编写单元测试。
了解更多
- 构建数据源插件教程
- Grafana 文档
- Grafana 教程 - Grafana 教程是分步指南,可帮助您充分利用 Grafana
- Grafana UI 库 - 帮助您使用 Grafana 设计系统构建界面的 UI 组件
贡献
感谢您的考虑贡献!如果您发现问题或有更好的方法,请随时创建 Issue 或 PR。
许可
本仓库是根据 Apache 许可证 2.0 授权的开源软件。
在 Grafana Cloud 上安装 Node Graph API
在 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 工具从命令行安装 Node Graph API
grafana-cli plugins install
该插件将安装到您的 grafana 插件目录中;默认目录是 /var/lib/grafana/plugins。更多关于 cli 工具的信息。
2. 配置数据源
从 Grafana 主菜单访问,新安装的数据源可以在“数据源”部分立即添加。
接下来,点击右上角的“添加数据源”按钮。在类型选择框中将显示可供选择的数据源。
要查看已安装数据源列表,请点击主菜单中的插件项。核心数据源和已安装的数据源都会出现。
更改日志
1.0.0 (未发布)
首次发布。