插件 〉YDB


开发者

YDB 平台

注册以接收偶尔的产品新闻和更新



数据源
社区

YDB

  • 概览
  • 安装
  • 更新日志
  • 相关内容

License Release Downloads

Telegram WebSite PRs Welcome

用于 Grafana 的 YDB 数据源

版本兼容性

插件需要 Grafana v9.2 及更高版本。

YDB 数据源插件允许您在 Grafana 中查询和可视化 YDB 数据。

安装

有关如何在 Grafana Cloud 或本地安装插件的详细说明,请查看插件安装文档

配置

数据源的 YDB 用户

设置一个具有只读权限的 YDB 用户帐户 (更多关于权限的信息),并允许访问您想要查询的数据库和表。请注意,Grafana 不会验证查询是否安全。查询可以包含任何 SQL 语句,包括修改指令。

数据传输协议支持

该插件支持 GRPCSGRPC 传输协议。请注意,使用 grpcs 时,您需要提供 TLS/SSL 证书。

手动配置

一旦插件安装到您的 Grafana 实例上,请按照这些说明添加新的 YDB 数据源,并输入配置选项。

使用配置文件

可以使用配置文件和 Grafana 的配置系统来配置数据源。要了解其工作原理,包括您可以为此数据源设置的所有设置,请参阅配置 Grafana 数据源

插件支持不同的身份验证类型 身份验证类型

这是一个使用用户名/密码的此数据源的示例

apiVersion: 1
datasources:
  - name: YDB
    type: ydbtech-ydb-datasource
    jsonData:
      authKind: "UserPassword",
      endpoint: 'grpcs://endpoint',
      dbLocation: 'location',
      user: 'username',
    secureJsonData:
      password: 'userpassword',
      certificate: 'certificate',

以下是连接配置中支持的字段

    jsonData:
      authKind: "Anonymous" | "ServiceAccountKey" | "AccessToken" | "UserPassword" | "MetaData";
      endpoint: string;
      dbLocation: string;
      user?: string;
    secureJsonData:
      serviceAccAuthAccessKey?: string;
      accessToken?: string;
      password?: string;
      certificate?: string;

构建查询

YQL 方言用于查询 YDB。查询可以包含宏,以简化语法并允许动态部分。查询编辑器允许您以不同的表示形式获取数据:时间序列、表格或日志。

时间序列

在向查询中添加一个 DateDatetimeTimestamp 类型的字段以及至少一个 number 类型的字段后,时间序列可视化选项是可选择的。您可以使用可视化选项选择时间序列可视化。Grafana 将没有显式时区的时间戳行解释为 UTC。任何其他列都被视为值列。

多线时间序列

要创建多线时间序列,查询必须按以下顺序返回至少 3 个字段

  • 字段 1:时间字段
  • 字段 2:用于分组的值
  • 字段 3+:指标值

例如

SELECT `timestamp`, `requestTime`, AVG(`responseStatus`) AS `avgRespStatus`
FROM `/database/endpoint/my-logs`
GROUP BY `requestTime`, `timestamp`
ORDER BY `timestamp`

表格

表格可视化将始终可用于任何有效的 YDB 查询。

使用日志面板可视化日志

要使用日志面板,您的查询必须返回时间和字符串值。您可以使用可视化选项选择日志可视化。

默认情况下,只有第一个文本字段将表示为日志行,但这可以使用查询构建器进行自定义。

为了简化语法并允许动态部分(如日期范围过滤器),查询可以包含宏。

这是一个带有宏的查询示例,该宏将使用 Grafana 的时间过滤器

SELECT `timeCol`
FROM `/database/endpoint/my-logs`
WHERE $__timeFilter(`timeCol`)
描述输出示例
$__timeFilter(columnName)替换为一个条件语句,该语句根据面板的时间范围(以微秒为单位)过滤数据(使用提供的列)foo >= CAST(1636717526371000 AS TIMESTAMP) AND foo <= CAST(1668253526371000 AS TIMESTAMP)' )
$__fromTimestamp替换为面板范围的开始时间,并转换为 Timestamp 类型CAST(1636717526371000 AS TIMESTAMP)
$__toTimestamp替换为面板范围的结束时间,并转换为 Timestamp 类型CAST(1636717526371000 AS TIMESTAMP)
$__varFallback(condition, $templateVar)当未提供第二个参数中的模板变量时,替换为第一个参数。conditiontemplateVarValue

模板和变量

要添加新的 YDB 查询变量,请参阅添加查询变量。创建变量后,您可以在 YDB 查询中使用它,方法是使用变量语法。有关变量的更多信息,请参阅模板和变量

了解更多

在 Grafana Cloud 上安装 YDB

有关更多信息,请访问关于插件安装的文档。

更新日志

0.4.3

  • 前端和后端的默认身份验证类型应相同
  • 当变量为多值时,过滤器存在错误

0.4.2

  • 更新 github.com/grafana/grafana-plugin-sdk-go

0.4.1

  • 支持数字 limit 以实现向后兼容性

0.4.0

  • 向查询构建器添加 ORDER BY
  • 不同的改进和错误修复
  • 最低要求的 Grafana 版本提高到 v9.2