Grafana获取内部参数表达式,可获取当前登录用户信息

全局变量

Grafana 具有全局内置变量,可在查询编辑器的表达式中使用。本主题按字母顺序列出它们并对其进行定义。这些变量在查询、仪表板链接、面板链接和数据链接中很有用。

$__仪表板

仅在 Grafana v6.7+ 中可用。在 Grafana 7.1 中,变量从显示当前仪表板的 UID 更改为当前仪表板的名称。

此变量是当前仪表板的名称。

__from 和 $__to

Grafana 有两个内置的时间范围变量:$__from$__to. 默认情况下,它们当前始终插入为纪元毫秒,但您可以控制日期格式。

这种特殊的格式化语法仅在 Grafana 7.1.2+ 中可用

句法 示例结果 描述
${__from} 1594671549254 Unix 毫秒纪元
${__from:date} 2020-07-13T20:19:09.254Z 无参数,默认为 ISO 8601/RFC 3339
${__from:date:iso} 2020-07-13T20:19:09.254Z ISO 8601/RFC 3339
${__from:date:seconds} 1594671549 Unix 秒纪元
${__from:date:YYYY-MM} 2020-07 任何不包含该字符的自定义日期格式:

上面的语法也适用${__to}

您也可以在 URL 中使用此变量。例如,将用户发送到显示从六小时前到现在的时间范围的仪表板:https: //play.grafana.org/d/000000012/grafana-play-home?viewPanel=2&orgId= 1?from=now -6h&to=现在

$__interval

您可以将$__interval变量用作按时间(对于 InfluxDB、MySQL、Postgres、MSSQL)、日期直方图间隔(对于 Elasticsearch)或汇总函数参数(对于 Graphite)进行分组的参数。

Grafana 会自动计算一个间隔,该间隔可用于在查询中按时间分组。当数据点多于图表上显示的数据点时,可以通过按更大间隔分组来提高查询效率。在查看 3 个月的数据时,按 1 天分组比按 10 秒分组更有效,并且图表看起来相同并且查询会更快。使用时间范围和图形的$__interval宽度(像素数)计算。

近似计算:(to - from) / resolution

例如,当时间范围为 1 小时且图形为全屏时,则间隔可能计算为2m- 点按 2 分钟间隔分组。如果时间范围是 6 个月并且图表是全屏的,那么间隔可能是1d(1 天) - 点按天分组。

在 InfluxDB 数据源中,遗留变量$interval是同一个变量。$__interval应改为使用。

InfluxDB 和 Elasticsearch 数据源具有Group by time interval用于硬编码间隔或设置$__interval变量最小限制的字段(通过使用>语法 -> >10m)。

$__interval_ms

此变量是以$__interval毫秒为单位的变量,而不是时间间隔格式的字符串。例如,如果$__interval20m那么$__interval_ms1200000

$__name

此变量仅在 Singlestat 面板中可用,并且可以在选项选项卡上的前缀或后缀字段中使用。该变量将替换为系列名称或别名。

$__org

此变量是当前组织的 ID。 ${__org.name}是当前组织的名称。

$__用户

仅在 Grafana v7.1+ 中可用

${__user.id}是当前用户的 ID。 ${__user.login}是当前用户的登录句柄。 ${__user.email}是当前用户的电子邮件。

$__范围

目前仅支持 Prometheus 和 Loki 数据源。此变量表示当前仪表板的范围。它由 计算to - from。它有一个毫秒和第二个表示形式,称为$__range_msand $__range_s

$__rate_interval

目前仅支持 Prometheus 数据源。该$__rate_interval变量旨在用于速率函数。有关详细信息,请参阅Prometheus 查询变量。

__timeFilter

$timeFilter变量将当前选定的时间范围作为表达式返回。例如,时间范围区间Last 7 days表达式为time > now() - 7d

这用于多个地方,包括:

  • InfluxDB 数据源的 WHERE 子句。在查询编辑器模式下,Grafana 会自动将其添加到 InfluxDB 查询中。您可以在文本编辑器模式下手动添加它:WHERE $timeFilter.
  • Azure Monitor 数据源中的 Log Analytics 查询。
  • MySQL、Postgres 和 MSSQL 中的 SQL 查询。
  • $__timeFilter变量在 MySQL 数据源中使用。

获取当前用户测试

测试例子

你可能感兴趣的:(Grafana获取内部参数表达式,可获取当前登录用户信息)