插件 〉Thruk
Thruk
Thruk Grafana 数据源 - 使用 Thruk REST API 的 Grafana 后端数据源
安装
在 thruk
Grafana 插件目录中搜索,或直接使用 grafana-cli 命令
%> grafana-cli plugins install sni-thruk-datasource
此外,OMD-Labs 也包含此数据源,因此如果您使用 OMD-Labs,所有设置均已完成。
否则请按照以下步骤操作
%> cd var/grafana/plugins
%> git clone -b release-1.0.4 https://github.com/sni/grafana-thruk-datasource.git
%> restart grafana
将 release-1.0.4
替换为最后一个可用的发布分支。
创建数据源
添加新数据源并选择
使用 Grafana 代理。
- 类型 'Thruk'
- Thruk 的 URL,例如:'https:///sitename/thruk'
表格查询
使用表格面板,您可以显示来自 REST API 的大部分数据。但是,只有文本、数字和时间戳能够以合理的方式显示。对嵌套数据结构的支持有限。
选择您要显示数据的 REST 路径。然后选择所有列。您也可以添加聚合函数,它们总是影响其后的列。
变量查询
可以使用 Thruk 的 REST API 来填充 Grafana 变量。例如,要获取特定主机组的所有主机,请使用此示例查询
SELECT name FROM hosts WHERE groups >= 'linux'
标注查询
标注查询可用于将日志文件条目添加到您的图表中。请注意,标注在仪表盘中的所有图表间共享。
重要的是至少使用一个时间过滤器。
单值查询
单值最适合与返回聚合值或使用 `avg`、`sum`、`min`、`max` 或 `count` 等聚合函数的 REST 端点一起使用。
基于时间序列的面板
尽管 Thruk 不是时间序列数据库,通常只返回表格数据,但如果面板无法处理表格数据,一些查询可以转换为模拟时间序列。
您可以使用具有两列(名称、值)的查询,或仅返回一行包含数值的查询。
统计数据饼图
例如,饼图插件可以与以下统计查询一起使用
SELECT count() state, state FROM /hosts
该查询预计会获取两列。第一列是值,第二列是名称。
单个主机饼图
示例:使用单个主机的统计数据将其放入饼图
SELECT num_services_ok, num_services_warn, num_services_crit, num_services_unknown FROM /hosts WHERE name = '$name' LIMIT 1
使用变量
仪表盘变量几乎可以用于所有查询。例如,如果您定义了一个名为 `host` 的仪表盘变量,那么您可以在查询中使用 `$host`。
时间过滤器有一个特殊语法:`field = $time`,它将被替换为 `(field >= starttime AND field <= endtime)`。这可以用来将结果限制在仪表盘的时间范围内。
SELECT time, message FROM /hosts/$host/alerts WHERE time = $time
等同于
SELECT time, message FROM /alerts WHERE host_name = "$host" AND time = $time
开发
要测试和改进插件,您可以在 Docker 中运行 Grafana 实例,使用以下命令(在本插件的源目录下)
% make dev
这将启动一个 grafana 容器和一个构建监视器,后者会更新 dist/ 文件夹中的插件。
可以通过以下地址访问开发实例:`https://:3000``
注意:您需要手动添加数据源,并且在启动开发容器之前需要运行一次“make build”,否则 Grafana 将找不到数据源。
测试
您可以使用以下演示 Thruk 实例进行测试
- URL:https://demo.thruk.org/demo/thruk/
- 基本认证:test / test
创建发布
如何创建新发布
%> export RELVERSION=1.0.7
%> export GRAFANA_API_KEY=...
%> vi package.json # replace version
%> vi CHANGELOG.md # add changelog entry
%> git commit -am "Release v${RELVERSION}"
%> git tag -a v${RELVERSION} -m "Create release tag v${RELVERSION}"
%> make GRAFANA_API_KEY=${GRAFANA_API_KEY} releasebuild
# create release here https://github.com/sni/grafana-thruk-datasource/releases/new
# submit plugin update here https://grafana.org.cn/orgs/sni/plugins
更新日志
参见 CHANGELOG.md
在 Grafana Cloud 上安装 Thruk
在 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 工具通过命令行安装 Thruk
grafana-cli plugins install
插件将安装到您的 grafana 插件目录中;默认路径为 /var/lib/grafana/plugins。关于 CLI 工具的更多信息。
2. 配置数据源
从 Grafana 主菜单进入“数据源”部分,可以立即添加新安装的数据源。
接下来,点击右上角的“添加数据源”按钮。数据源将在“类型”选择框中提供选择。
要查看已安装数据源列表,请点击主菜单中的“插件”项。核心数据源和已安装的数据源都将显示出来。
更新日志
2.0.4 2023-12-04 - 移除时间过滤器限制 - 更新 grafana toolkit 至 10.1.5
2.0.3 2023-07-14 - 使拖放更明显 - 为数值列设置正确字段类型 - 修复从列列表中移除 *
2.0.2 2023-05-30 - 修复在路径/来源字段中使用变量的问题
2.0.1 2022-12-02 - 修复变量查询中的语法错误
2.0.0 2022-10-28 - 使用 React 为 Grafana 9 重建 - 添加对日志浏览器支持 - 查询编辑器:- 支持列排序
1.0.7 2022-02-11 - 为 Grafana 8 重建 - 更新依赖项
1.0.6 2021-01-04 - 签名插件 - 将包构建切换到 yarn
1.0.5 2020-09-11 - 改进打包
1.0.4 2020-06-29 - 修复启用“外部共享导出”时的导出问题
1.0.3 2019-02-15 - 支持聚合函数 - 将哈希响应转换为表格 - 支持基于时间序列的面板
1.0.2 2019-01-04 - 添加更多时间样式
1.0.1 2018-09-30 - 修复标注查询解析器
1.0.0 2018-09-14 - 初次发布