在Grafana中使用石墨
Grafana有一个先进的Graphite查询编辑器,可以让您快速导航度量空间,添加函数,更改函数参数等等。编辑器可以处理所有类型的石墨查询。它甚至可以通过使用查询引用来处理复杂的嵌套查询。
指添加数据源获取如何向Grafana添加数据源的说明。只有组织管理员可以添加数据源。要了解更多关于Graphite数据源的信息,请参阅Graphite的产品文档.
石墨的设置
要访问Graphite设置,请将鼠标悬停在配置(齿轮)图标,然后点击数据源,然后单击Graphite数据源。
的名字 | 描述 |
---|---|
的名字 |
数据源名称。这就是在面板和查询中引用数据源的方式。 |
默认的 |
默认数据源意味着将为新面板预先选择它。 |
URL |
安装的graphite-web或graphite-api的HTTP协议、IP和端口。 |
身份验证 |
指身份验证获取更多信息。 |
基本认证 |
对数据源启用基本身份验证。 |
用户 |
基本认证的用户名。 |
密码 |
基本认证的密码。 |
自定义HTTP报头 |
点击添加标题来添加自定义HTTP报头。 |
头 |
输入自定义头名称。 |
价值 |
输入自定义头值。 |
石墨的细节 |
|
版本 |
选择您的Graphite版本。 |
类型 |
选择您的石墨类型。 |
石墨查询编辑器
Grafana包含一个特定于石墨的查询编辑器来帮助您构建查询。
要查看发送到Graphite的查询的原始文本,单击切换文本编辑模式(铅笔)图标。
选择要查询的指标
点击选择指标开始在度规空间中导航。开始后,可以继续使用鼠标或键盘方向键。您可以选择通配符并继续。
功能
单击旁边的加号图标函数添加一个函数。您可以搜索该功能或从菜单中选择它。一旦选择了一个函数,它将被添加,您的焦点将在第一个参数的文本框中。
- 要编辑或更改参数,单击它,它将变成一个文本框。
- 若要删除函数,请单击后面带x图标的函数名称。
一些函数,如aliasByNode,支持可选的第二个参数。若要添加参数,请将鼠标悬停在第一个参数上,然后单击+
出现的符号。要删除第二个可选参数,单击它并将其留空,编辑器将删除它。
要了解更多,请参阅Graphite关于函数的文档.
分类标签
如果您想要一致的排序,请使用sortByName。当你在多个图表上有相同的标签,而且它们都是不同的排序和使用不同的颜色时,这可能会特别烦人。要修复此问题,请使用sortByName ()
.
嵌套查询
您可以通过它们所在的行“字母”引用查询(类似于Microsoft Excel)。如果向图中添加第二个查询,只需输入# a就可以引用第一个查询。这提供了一种构建复合查询的简便方法。
通过使用通配符避免许多查询
有时人们希望看到多个时间序列绘制在同一个图形上。例如,我们可能想要查看一台机器上的CPU是如何被利用的。最初可以通过为每个时间序列添加查询来创建图形,例如cpu.percent.user.g
,cpu.percent.system.g
等等。结果是n对数据源的查询,这是低效的。
为了更有效,可以在搜索中使用通配符,在一个查询中返回所有时间序列。例如,cpu.percent。* .g
.
修改表或图表中的指标名称
使用别名
函数来改变Grafana表或图上的度量名称aliasByNode ()
或aliasSub ()
.
点合并
所有的Graphite指标都是统一的,这样Graphite返回的数据点就不会比图中的像素多。默认情况下,使用avg
函数。您可以通过添加Graphite consolidateBy函数来控制Graphite如何整合度量。
注意:这意味着图例汇总值(最大值、最小值、总数)不能同时全部正确。他们是经过Grafana计算的客户端。根据巩固函数的不同,同一时间只能有一到两个是正确的。
组合时间序列
单击,合并时间序列结合在功能列表。
数据探索和标记
在石墨,一切是一个标记。
在浏览数据时,使用先前选择的标记筛选剩余的结果集。要选择数据,可以使用seriesByTag
函数,该函数接受标记表达式(=
,! =
,=~
,! = ~
)来过滤时间序列。
当您选择一个标记时,Grafana查询构建器会自动为您做这件事。
提示:正则表达式搜索在高基数标记上可能非常慢,因此请先尝试使用其他标记来缩小范围。从特定的名称/名称空间开始可以帮助减少结果。
模板变量
您可以在指标查询中使用变量代替服务器、应用程序和传感器名称等硬编码。变量显示为仪表板顶部的下拉选择框。这些下拉列表可以很容易地更改仪表板中显示的数据。
有关更多信息,请参阅变量和模板.
Graphite 1.1引入了标记,Grafana在5.0版本中增加了对带有标记的Graphite查询的支持。要使用标记值创建变量,请使用Grafana函数标签
而且tag_values
.
查询 | 描述 |
---|---|
标签() |
返回所有标签。 |
标签(服务器后端\ = ~ *) |
仅返回与筛选器表达式匹配的序列中出现的标记。 |
tag_values(服务器) |
返回指定标记的标记值。 |
tag_values(服务器,服务器后端\ = ~ *) |
返回在匹配这些表达式的系列中出现的指定标记的筛选标记值。 |
Tag_values (server, server=~backend\*, app=~${apps:regex}) |
多个筛选器表达式和表达式可以包含其他变量。 |
有关详细信息,请参见关于标签的自动补全API的石墨文档.
查询变量
在查询字段中指定的查询应该是度量查找类型的查询。例如,像这样的查询prod.servers。*
用通配符位置中存在的所有可能值填充变量。
结果包含仅在查询的最后一级出现的所有可能值。要获得与查询匹配的完整指标名称,请使用扩展函数((* .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视图添加注释查询。
Graphite支持两种查询注释的方法。一个常规的度量查询,为此您使用石墨查询
文本框。的石墨事件查询石墨事件标签
文本框,指定一个标签或通配符(留空也可以)
将Grafana度量方法导入Graphite
Grafana公开了Graphite的指标/指标
端点。有关详细说明,请参阅内部Grafana度量.
使用供应配置数据源
现在可以在Grafana的配置系统中使用配置文件配置数据源。您可以阅读更多关于它的工作原理以及可以为数据源设置的所有设置配置文档页面
下面是该数据源的一些配置示例。
apiVersion: 1数据源:-名称:石墨类型:石墨访问:代理url: http://localhost:8080 jsonData: graphiteVersion: '1.1'
与Loki的集成
当Explore中的数据源选择发生变化时,Graphite查询将转换为Loki查询。根据Graphite数据源配置中提供的映射信息,从Graphite查询中提取Loki标签名称和值。使用标记的查询seriesByTags ()
也可以在不进行任何额外设置的情况下进行转换。
有关更多详细信息,请参阅Graphite数据源设置。
相关Grafana资源
开幕主题演讲:《Grafana 9》有什么新内容?
Raj Dutt, Myrle Krantz和Torkel Ödegaard揭开了Grafana 9的新内容。观看2022年GrafanaCONline开幕式主题演讲。随需应变。
使用Grafana插件统一您的数据:Datadog, Splunk, MongoDB等
在本次网络研讨会中,学习如何利用Grafana的插件生态系统访问80多个数据源,包括Datadog、Splunk、MongoDB等的插件。
从Grafana Enterprise和可观察性开始
加入Grafanabob电竞频道实验室团队,进行30分钟的演示,演示如何开始使用Grafana堆栈,这样您就可以在短短几分钟内从零到可观察性。