;数据源;石墨

在Grafana中使用石墨

Grafana有一个先进的Graphite查询编辑器,可以让您快速导航度量空间、添加函数、更改函数参数等。编辑器可以处理所有类型的石墨查询。它甚至可以通过使用查询引用处理复杂的嵌套查询。

添加数据源以获取如何向Grafana添加数据源的说明。只有组织管理员可以添加数据源。要了解关于Graphite数据源的更多信息,请参考Graphite的产品文档

石墨的设置

要访问Graphite设置,请将鼠标悬停在配置(齿轮)图标,然后点击数据源,然后单击Graphite数据源。

的名字 描述
的名字 数据源名称。这就是在面板和查询中引用数据源的方式。
默认的 默认数据源意味着它将被预选为新面板。
URL 安装的石墨-web或石墨-api的HTTP协议、IP和端口。
身份验证 身份验证更多信息。
基本认证 启用对数据源的基本身份验证。
用户 基本认证的用户名。
密码 基本认证密码。
自定义HTTP报头 点击添加标题添加自定义HTTP标头。
输入自定义头名称。
价值 输入自定义头值。
石墨的细节
版本 选择您的石墨版本。
类型 选择您的石墨类型。

石墨查询编辑器

Grafana包含一个特定于石墨的查询编辑器,以帮助您构建查询。

要查看发送到Graphite的查询的原始文本,单击切换文本编辑模式(铅笔)图标。

选择要查询的指标

点击选择指标开始导航度量空间。开始之后,可以继续使用鼠标或键盘方向键。您可以选择通配符并继续。

功能

单击旁边的加号图标函数添加一个函数。您可以搜索该功能或从菜单中选择它。一旦选择了一个函数,它将被添加,您的焦点将位于第一个参数的文本框中。

  • 要编辑或更改参数,单击它,它将变成一个文本框。
  • 若要删除函数,请单击函数名后面的x图标。

一些函数如aliasByNode支持可选的第二个参数。若要添加参数,请将鼠标悬停在第一个参数上,然后单击+出现的符号。要删除第二个可选参数,单击它并将其保留为空,编辑器将删除它。

要了解更多,请参考Graphite关于函数的文档

分类标签

如果您想要一致的排序,请使用sortByName。当您在多个图上有相同的标签,并且它们的排序不同且使用不同的颜色时,这可能会特别令人讨厌。要解决这个问题,使用sortByName ()

嵌套查询

您可以通过它们所在的行“letter”引用查询(类似于Microsoft Excel)。如果向图中添加第二个查询,只需输入# a就可以引用第一个查询。这为构建复合查询提供了一种简单而方便的方法。

使用通配符避免许多查询

有时,人们希望在同一幅图上看到多个时间序列。例如,我们可能希望看到一台机器上的CPU是如何被利用的。最初可以通过为每个时间序列添加查询来创建图,例如cpu.percent.user.gcpu.percent.system.g,等等。这导致n对数据源的查询,这是低效的。

为了更高效,可以在搜索中使用通配符,在一个查询中返回所有的时间序列。例如,cpu.percent。* .g

修改我的表格或图表中的指标名称

使用别名例如,在Grafana表或图上更改度量名称的函数aliasByNode ()aliasSub ()

点合并

所有的Graphite指标都是统一的,因此Graphite返回的数据点不会超过图中像素的数量。默认情况下,使用avg函数。您可以通过添加Graphite consolidated by函数来控制Graphite如何合并度量。

注意:这意味着图例汇总值(max、min、total)不能同时都正确。它们是由Grafana计算的客户端。根据你的巩固函数,同一时间只有一到两个是正确的。

结合时间序列

单击,组合时间序列结合功能列表。

数据探索和标签

在石墨,一切是一个标签。

在查找数据时,使用以前选择的标记筛选剩余的结果集。要选择数据,可以使用seriesByTag函数,它接受标记表达式(! == ~! = ~)筛选时间序列。

当您选择一个标记时,Grafana查询构建器会自动为您完成此操作。

提示:在高基数的标记上,正则表达式搜索可能非常慢,因此首先尝试使用其他标记来减少作用域。从特定的名称/命名空间开始可以帮助减少结果。

模板变量

您可以在指标查询中使用变量,而不是硬编码服务器、应用程序和传感器名称等内容。变量显示为仪表板顶部的下拉选择框。通过这些下拉菜单,可以轻松更改仪表板中显示的数据。

有关更多信息,请参见变量和模板

1.1引入了标签,Grafana在5.0版本中增加了对带有标签的石墨查询的支持。要使用标记值创建变量,可以使用Grafana函数标签而且tag_values

查询 描述
标签() 返回所有标签。
标签(服务器后端\ = ~ *) 只返回与筛选器表达式匹配的序列中出现的标记。
tag_values(服务器) 返回指定标记的标记值。
tag_values(服务器,服务器后端\ = ~ *) 返回匹配这些表达式的系列中指定标记的经过筛选的标记值。
Tag_values (server, server=~backend\*, app=~${apps:regex}) 多个筛选器表达式和表达式可以包含其他变量。

有关更多详细信息,请参见石墨文档介绍了标签的自动完成API

查询变量

您在查询字段中指定的查询应该是一个度量查找类型的查询。例如,像这样的查询prod.servers。*用通配符位置中存在的所有可能值填充变量。

结果包含仅在查询的最后一级出现的所有可能值。要获得与查询匹配的完整度量名称,请使用expand函数((* .servers扩张。*)).

展开与非展开度量搜索结果的比较

展开的查询返回匹配指标的全名。与regex结合使用,它可以提取度量名称的任何部分。相比之下,未展开的查询只返回度量名称的最后一部分。它不允许您提取度量名称的其他部分。

以下是一些度量的例子:

  • prod.servers.001.cpu
  • prod.servers.002.cpu
  • test.servers.001.cpu

下面的示例展示了如何使用展开查询和非展开查询来获取度量名称的特定部分。

non-expanded查询 结果 扩展查询 扩张的结果
刺激、测试 扩大(*) 刺激、测试
* .servers 服务器 扩大(* .servers) prod.servers, test.servers
test.servers 服务器 扩大(test.servers) test.servers
* .servers。* 001002年 (* .servers扩张。*) prod.servers。001,prod.servers。002年,test.servers.001
test.servers。* 001 扩大(test.servers。*) test.servers.001
* * .cpu .servers cpu (* .servers扩张。* .cpu) prod.servers.001.cpu,prod.servers.002.cpu,test.servers.001.cpu

从结果中可以看到,非展开查询与带有匹配名称最后部分的正则表达式的展开查询相同。

您还可以创建在定义中使用其他变量的嵌套变量。例如应用。app.servers美元。*使用变量美元的应用在其查询定义中。

使用__searchFilter筛选查询变量结果

可从Grafana 6.5或以上版本获得

使用__searchFilter在查询字段中将根据下拉选择框中的用户类型对查询结果进行过滤。当用户未输入任何内容时,则为的默认值__searchFilter和' '当用作正则表达式的一部分时。

下面的例子展示了如何使用__searchFilter作为查询字段的一部分,以启用搜索服务器当用户在下拉选择框中键入时。

查询

应用。app.servers。__searchFilter美元

TagValues

tag_values(服务器,服务器= ~ $ {__searchFilter:正则表达式})

变量的使用

可以在度量节点路径中使用变量,也可以作为函数的参数。变量

有两种语法:

  • $ < varname >例子:apps.frontend。server.requests.count美元
  • $ {varname}例子:apps.frontend。${服务器}.requests.count

为什么是两种方式?第一种语法更容易读和写,但不允许在单词中间使用变量。在表达式中使用第二种语法my.server ${中}.count

例子:石墨模板仪表盘

标记查询中的变量使用

标签查询中的多值变量使用Grafana 5.0中为变量引入的高级格式化语法:{var:正则表达式}.非标记查询将对多值变量使用默认的glob格式。

带有正则表达式格式并使用等号波浪符的标记表达式示例,= ~

服务器= ~ ${服务器:正则表达式}

有关更多信息,请参见高级变量格式选项

注释

注释允许您在图形的顶部覆盖丰富的事件信息。您可以通过Dashboard菜单/ Annotations视图添加注释查询。

石墨支持两种查询注释的方法。一个常规的度量查询,为此您使用石墨查询文本框。一个石墨事件查询,使用石墨事件标签文本框,指定标记或通配符(留空也可以)

将Grafana度量放入石墨中

Grafana在/指标端点。有关详细说明,请参阅内部Grafana度量

用供应配置数据源

现在可以在Grafana的配置系统中使用配置文件配置数据源了。您可以阅读更多关于它如何工作以及可以为数据源设置的所有设置的信息配置文档页面

下面是该数据源的一些配置示例。

apiVersion: 1数据源:-名称:石墨类型:石墨访问:代理url: http://localhost:8080 jsonData: graphiteVersion: '1.1'

与Loki的整合

当Explore中的数据源选择发生变化时,Graphite查询将转换为Loki查询。根据石墨数据源配置中提供的映射信息,从石墨查询中提取Loki标签名称和值。使用带有seriesByTags ()也在不需要任何额外设置的情况下进行转换。

有关更多细节,请参阅石墨数据源设置。