Grafana 教程

添加和管理变量

常规选项

您必须为创建的任何类型的变量输入常规选项。

(1)导航到要为其创建变量的仪表板,然后单击页面顶部的仪表板设置(齿轮)图标。

(2)在变量 “Variables” 卡上,单击 “New variable” 按钮。

(3)为变量输入名称。

(4)在 “Type” 列表中,选择 “Query”。

(5)(可选)在标签中,输入变量下拉菜单的显示名称。如果不输入显示名称,则下拉标签就是变量名称。

(6)选择 “Hide” 选项:

  • No selection (blank):  变量下拉菜单显示变量名称或标签值,这是默认值。

  • Label:  变量下拉菜单只显示所选变量值和一个向下箭头。

  • Variable:  变量下拉菜单只显示所选变量值和一个向下箭头。

添加和管理变量

添加查询变量

通过查询变量,您可以编写数据源查询,返回一系列度量名称、标记值或键。例如,查询变量可以返回服务器名称、传感器 ID 或数据中心的列表。变量值会随着数据源查询动态获取选项而改变。

查询变量通常只支持字符串。如果查询返回数字或任何其他数据类型,可能需要将其转换为字符串才能用作变量。例如,对于 Azure 数据源,可以使用 tostring 函数来实现这一目的。

查询表达式可以包含对其他变量的引用,这实际上创建了链接变量。Grafana 可以检测到这一点,并在其中一个链接变量发生变化时自动刷新变量。

注意:每个数据源的查询表达式都不同。有关详细信息,请参阅数据源文档。

(1)输入变量的常规选项。

(2)在数据源列表中,选择查询的目标数据源。

(3)在 “Refresh” 列表中,选择变量何时更新选项:

    • On Dashboard Load: 每次加载仪表盘时都会查询数据源。这会减慢仪表盘加载速度,因为变量查询需要在仪表盘初始化之前完成。

    • On Time Range Change: 每次加载仪表盘以及仪表盘时间范围发生变化时都会查询数据源。如果变量选项查询包含时间范围过滤器或依赖于仪表盘时间范围,请使用此选项。

(4)在 “Query” 字段中输入查询:

    • 查询字段因数据源而异,有些数据源有自定义查询编辑器。

    • 确保查询根据查询语法返回名为 __text 和 __value 的值。例如,在 SQL 中,可以使用 SELECT hostname AS __text, id AS __value FROM MyTable 这样的查询,其他语言的查询语法会有所不同。

    • 如果在单个输入框查询编辑器中需要更多空间,可将光标悬停在输入框右下角的线条上,向下拖动即可展开。

(5)(可选)在 Regex 字段中,键入正则表达式,以过滤或捕获数据源查询返回的名称的特定部分。要查看示例,请参阅使用 regex 过滤变量

(6)在 “Sort” 列表中,选择要在下拉列表中显示的值的排序顺序。默认选项 “Disabled” 表示将使用数据源查询返回的选项顺序。

(7)(可选)输入 “Selection Options”。

(8)在 “Preview of values” 中,Grafana 会显示当前变量值的列表,查看它们以确保符合您的预期。

(9)单击 “Apply”按钮将变量添加到仪表板。

添加和管理变量

上图中,创建了一个名为 title 的查询变量,使用 MySQL 数据源。

添加自定义变量

自定义变量的值不会改变,如数字或字符串。

例如,如果服务器名称或区域名称不会改变,那么就可以将它们创建为自定义变量,而不是查询变量。因为它们不会改变,所以可以在链式变量中使用它们,而不是其他查询变量。这样可以减少链式变量更新时 Grafana 必须发送的查询次数。

(1)输入变量的常规选项。

(2)在用“Values separated by comma list”中,用逗号分隔的列表输入该变量的值。可以包含数字、字符串或键/值对,以空格和冒号分隔。例如,key1:value1,key2:value2。

(3)(可选)输入 “Selection Options”。

(4)在“Preview of values” 中,Grafana 会显示当前变量值的列表。查看它们以确保符合您的预期。

(5)单击 “Apply”按钮将变量添加到仪表板。

添加和管理变量

添加文本框变量

文本框变量显示一个带有可选默认值的自由文本输入框。这是最灵活的变量,因为你可以输入任何值。如果您的指标基数很高,或者您希望同时更新仪表板中的多个面板,请使用这种类型的变量。

有关基数的更多信息,请参阅基数峰值是什么以及它们为什么重要?

(1)输入变量的常规选项。

(2)(可选)在 “Default value” 字段中,选择变量的默认值。如果不在此字段中输入任何内容,Grafana 将显示一个空文本框供用户输入文本。

(3)在“Preview of values” 中,Grafana 会显示当前变量值的列表。查看它们以确保符合您的预期。

(4)单击 “Apply”按钮将变量添加到仪表板。

添加和管理变量

将变量添加在仪表板上:

添加和管理变量

添加一个常量变量

常量变量可以定义隐藏常量。这对于要共享的仪表盘的度量路径前缀非常有用。导出仪表盘时,常量变量会转换为导入选项。

常量变量不灵活。每个常量变量只能保存一个值,除非更新变量设置,否则无法更新。

如果需要在查询中包含复杂的值,但又不想在每次查询中都重新输入,那么常量变量就非常有用。例如,如果你有一个名为 i-0b6a61efe2ab843gg 的服务器路径,那么你可以用一个名为 $path_gg 的变量来替换它。

(1)输入变量的常规选项。

(2)在 “Value” 字段中,输入变量值。可以输入字母、数字和符号。如果使用原始格式,还可以使用通配符。

(3)在“Preview of values” 中,Grafana 会显示当前变量值的列表。查看它们以确保符合您的预期。

(4)单击 “Apply”按钮将变量添加到仪表板。

添加和管理变量

添加数据源变量

通过数据源变量,可以快速更改整个仪表盘的数据源。如果一个数据源有多个实例,可能在不同的环境中,那么数据源变量就非常有用。

(1)输入变量的常规选项。

(2)在 “Type” 列表中,选择变量的目标数据源。

(3)(可选)在“Instance name filter”中,输入一个正则表达式过滤器,以便在变量值下拉列表中选择数据源实例。将此字段留空可显示所有实例。

(4)(可选)输入 “Selection Options”。

(5)在“Preview of values” 中,Grafana 会显示当前变量值的列表。查看它们以确保符合您的预期。

(6)单击 “Apply”按钮将变量添加到仪表板。

添加和管理变量

添加间隔变量

使用时间间隔变量来表示时间跨度,如 1m、1h、1d。可以将它们视为仪表盘范围内的 "按时间分组" 命令。间隔变量可以改变可视化中的数据分组方式。您还可以使用自动选项来返回每个时间跨度的设定数据点数。

您可以使用间隔变量作为参数,按时间(用于 InfluxDB)、日期直方图区间(用于 Elasticsearch)或汇总函数参数(用于 Graphite)进行分组。

(1)输入变量的常规选项。

(2)在 “Values” 字段中,输入您希望出现在变量下拉列表中的时间范围间隔。支持以下时间单位:s(秒)、m(分)、h(小时)、d(天)、w(周)、M(月)和 y(年)。您还可以接受或编辑默认值: 1m,10m,30m,1h,6h,12h,1d,7d,14d,30d。

(3)(可选)如果要在列表中添加自动选项(Auto Option),请打开自动选项。该选项允许您指定当前时间范围应被分割多少次,以计算当前自动时间跨度。如果打开,则会出现另外两个选项:

    • Step count - 选择当前时间范围的分割次数来计算数值,类似于最大数据点查询选项。例如,如果当前可见时间范围为 30 分钟,则自动间隔将数据分组为 30 个一分钟增量。默认值为 30 步。

    • Min Interval - 最小阈值,低于该阈值时,步长计数间隔将不会划分时间。继续以 30 分钟为例,如果最小间隔设置为 2 分钟,那么 Grafana 会将数据分组为 15 个两分钟的增量。

(4)在“Preview of values” 中,Grafana 会显示当前变量值的列表。查看它们以确保符合您的预期。

(5)单击 “Apply”按钮将变量添加到仪表板。

添加和管理变量

区间变量示例

下面的示例展示了 Graphite 函数中的模板变量 myinterval:

summarize($myinterval, sum, false)

下面的示例显示了一个更复杂的 Graphite 示例,来自 Graphite 模板嵌套请求面板

groupByNode(summarize(movingAverage(apps.$app.$server.counters.requests.count, 5), '$interval', 'sum', false), 2, 'sum')

添加 Ad hoc 过滤器

Ad hoc 过滤器可让您添加键/值筛选器,这些筛选器会自动添加到使用指定数据源的所有度量查询中。与其他变量不同,您不能在查询中使用 Ad hoc 过滤器。相反,您可以使用 Ad hoc 过滤器为现有查询编写过滤器。

注意:Ad hoc 过滤器变量仅适用于 Prometheus、Loki、InfluxDB 和 Elasticsearch 数据源。

(1)输入变量的常规选项。

(2)在“Data source”列表中,选择目标数据源。

(3)单击 “Apply”按钮将变量添加到仪表板。

添加和管理变量

创建ad hoc 过滤器

Ad hoc 过滤器是最复杂、最灵活的变量选项之一。与常规的变量选项列表不同,该变量允许你建立一个仪表盘范围内的特别查询。以这种方式应用的筛选器会应用到仪表板上的所有面板。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号