;数据源;普罗米修斯

Prometheus数据源

Grafana包括对Prometheus的内置支持。本主题解释特定于Prometheus数据源的选项、变量、查询和其他选项。指添加数据源以获取如何向Grafana添加数据源的说明。只有具有组织管理员角色的用户才能添加数据源。

注意:你可以用Grafana云避免安装、维护和扩展可观察性堆栈的开销。免费永久bob体育手机二维码计划包括Grafana, 10K Prometheus系列,50gb的日志,等等。创建一个免费的帐户开始

普罗米修斯的设置

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

的名字 描述
的名字 数据源名称。这就是在面板和查询中引用数据源的方式。
默认的 为新面板预先选择的默认数据源。
Url 例如,普罗米修斯服务器的URL,http://prometheus.example.org:9090
访问 只有服务器访问模式有效。如果已经选择了服务器模式,则此选项将被隐藏。否则切换到服务器模式以防止错误。
基本认证 启用对Prometheus数据源的基本身份验证。
用户 基本认证的用户名。
密码 基本认证密码。
刮间隔 将其设置为Prometheus中配置的典型抓取和评估间隔。默认为15秒。
HTTP方法 使用POST或GET HTTP方法来查询数据源。POST是推荐的和预先选择的方法,因为它允许更大的查询。如果您的Prometheus版本高于2.1,或者POST请求在网络中受到限制,则将其更改为GET。
类型 您的Prometheus服务器的类型,即普罗米修斯皮质Thanos米密尔.当在配置UI中选择此值时,Prometheus版本字段将尝试使用Prometheus自动检测版本buildinfoAPI。有些Prometheus类型不支持这个API,在这些情况下你需要手动填充版本(例如Cortex)。
版本 您的Prometheus服务器版本,请注意,在选择Prometheus类型之前,此字段是不可见的。
禁用指标查找 选中此选项将禁用查询字段的自动完成中的度量选择器和度量/标签支持。如果在较大的Prometheus实例中存在性能问题,这将有所帮助。
自定义查询参数 向Prometheus查询URL添加自定义参数。例如超时partial_responsededup,或max_source_resolution.多个参数应该用“&”连接在一起。
原型配置
内部链接 如果有内部链接,则启用此选项。启用此选项时,将看到一个数据源选择器。为示例数据选择后端跟踪数据存储。
数据源 只有启用后才会看到此选项内部链接选择。为示例数据选择后端跟踪数据存储。
URL 的情况下才会看到此选项内部链接选项被禁用。请输入外部链接的完整URL。你可以用$ {__value。生}宏。
地址标签 (可选)添加一个自定义显示标签以覆盖标签名称字段。
标签名称 为示例traceID属性添加一个名称。

Prometheus查询编辑器

Prometheus查询编辑器被分为两种不同的模式,您可以在它们之间切换。参见下面每个部分的文档。

编辑器工具栏

在编辑器的顶部,选择运行查询运行查询。选择生成器|代码选项卡在编辑器模式之间切换。如果查询编辑器处于Builder模式,则Builder一节中解释了其他元素。

注意:在Explore中,要运行Prometheus查询,请选择运行查询

每个模式都与其他模式同步,所以您可以在它们之间切换而不会丢失您的工作,尽管有一些限制。在构建器模式中还不支持一些更复杂的查询。如果你试着从代码构建器有了这样的查询,编辑器将弹出一个窗口,解释您可以丢失查询的某些部分,您可以决定是否仍然想继续构建器模式与否。

代码模式

代码模式

代码模式允许您在文本编辑器中编写原始查询。它实现了高级的自动完成功能和语法高亮显示,以帮助编写复杂的查询。此外,它还包含标准的浏览器为了进一步帮助编写查询(参见下面的更多文档)。

有关Prometheus查询语言的更多信息,请参阅普罗米修斯的文档

自动完成

自动完成

在输入过程中,自动完成功能会在适当的时间自动启动。使用Ctrl /cmd +空格在需要时手动触发自动完成。自动完成既可以建议静态函数,聚合和关键字,也可以建议动态项目,如指标和标签。自动完成下拉菜单还会显示建议项目的文档,可以是静态的,也可以是可用的动态指标文档。

探索使用Shift + enter运行查询。

标准的浏览器

指标浏览器允许您快速查找指标并选择相关标签来构建基本查询。当您打开浏览器时,您将看到所有可用的指标和标签。如果您的Prometheus实例支持,那么每个指标将作为工具提示显示其HELP和TYPE。

标准的浏览器

当您选择一个指标时,浏览器将缩小可用标签的范围,只显示适用于该指标的标签。然后可以选择一个或多个标签,其可用标签值显示在底部部分的列表中。为每个标签选择一个或多个值以收紧查询范围。

注意:如果您不记得从一个度量名称开始,您也可以先选择一些标签,以缩小列表,然后查找相关的标签值。

指标浏览器中的所有列表上面都有一个搜索字段,用于快速筛选匹配特定字符串的指标或标签。值部分只有一个搜索字段。它的过滤适用于所有标签,以帮助您在标签之间找到值,一旦它们被选中,例如,在您的标签之间应用程序工作job_name只有一个可能具有你正在寻找的价值。

当您对查询感到满意后,单击“使用查询”来运行查询。“使用作为利率查询”按钮增加了一个率(…)(__interval美元)围绕您的查询,以帮助编写计数器指标的查询。“Validate selector”按钮将与Prometheus检查该选择器有多少时间序列可用。

选项

选项

的名字 描述
传说 控制时间序列的名称。使用预定义格式或使用自定义格式。
汽车-如果有一个标签,它只显示每个系列的标签值。如果有多个标签,其工作原理与详细的
详细的-包括所有标签。
自定义- select将更改为文本输入。使用模板来选择将包括哪些标签。例如,{{主机名}}是否替换为标签的标签值主机名.清除输入并单击输入外部以返回选择模式。
分钟步 设置数据点之间间隔的下界。例如,设置“1h”来暗示测量不频繁(每小时进行一次)。__interval美元而且__rate_interval美元都受支持。
格式 你可以在表格时间序列的热图选项。的表格选项仅在Table面板中有效。的热图在热图面板上显示直方图类型的度量。在底层,它将累积直方图转换为常规直方图,并按桶边界对系列进行排序。
类型 范围-查询返回一个Range向量,这是一组时间序列,包含每个时间序列随时间变化的数据点范围。
即时—执行“即时”查询,只返回Prometheus从所请求的时间序列中提取的最新值。即时查询返回的结果比普通的范围查询快得多。使用它们来查找标签集。即时查询结果仅由每个序列的一个数据点组成,可以通过添加字段覆盖在时间序列面板中显示,并向命名的覆盖添加一个属性变换,并选择常数变换下拉。有关更多信息,请参见变换
范本 如果打开,则使用常规查询运行范例查询,并在图中显示范例。

注意:Grafana修改查询的请求日期,使它们与动态计算的步骤保持一致。这确保了指标数据的一致显示,但它可能导致在图的右边缘出现一个小的数据间隙。

建造者模式

下面的视频演示如何使用Grafana 9.0版本中提供的可视化Prometheus查询构建器。


工具栏

除了运行查询按钮和模式切换器,在构建器模式下,其他元素可用:

的名字 描述
查询模式 一组有用的操作模式,可用于向查询快速添加多个操作,以实现特定的目标。
解释 切换以显示对所有查询部分和操作的逐级说明。
原始查询 切换以显示由构建器生成的将被发送到Prometheus实例的原始查询。

公制和标签

公制和标签

从下拉列表中选择一个特定的度量名称。根据所选时间范围从Prometheus服务器获取可用指标列表。在打开下拉列表时写入选择,以搜索和筛选列表。

从下拉列表中选择所需的标签及其值。当选择metric时,将从服务器获取可用标签及其值。使用+按钮,以添加更多标签。使用x按钮。用于删除标签。

操作

操作

使用+操作按钮,用于向查询添加操作。为了便于导航,操作被分组为多个部分。当操作下拉列表打开时,写入搜索输入以搜索和筛选操作列表。

查询中的操作显示为操作部分中的框。每个标题都有一个名称和附加的操作按钮。将鼠标悬停在操作标头上以显示操作按钮。单击v按钮,可快速替换操作与同类型的不同操作。单击信息按钮,用于打开操作说明工具提示。单击x按钮,取消操作。

操作可以在操作标头下具有附加参数。查看操作描述或Prometheus文档了解每个操作的更多细节。

有些操作只有在特定的顺序才有意义,如果添加一个操作会导致无意义的查询,则会在正确的位置添加操作。要按操作名称手动拖动操作框,并将其放置在适当的位置。

提示

提示

在同样的情况下,查询编辑器可以检测哪些操作最适合所选的指标。在这种情况下,它将在+操作按钮。单击提示将操作添加到查询中。

解释

解释模式

解释模式有助于理解查询。它一步一步地解释了所有查询部分和操作。

原始查询

原始查询

仅当原始查询从查询编辑器顶部工具栏切换设置为.它显示了将由查询编辑器创建和执行的原始查询。

选项

的相同选项集可用代码模式。看到代码模式选项获取详细信息。

模板

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

查看模板介绍模板特性和不同类型的模板变量的文档。

查询变量

类型的变量查询允许您查询Prometheus的指标、标签或标签值的列表。Prometheus数据源插件提供了以下函数,可以在查询输入字段。

的名字 描述 使用的API端点
label_names () 返回标签名称的列表。 / api / v1 /标签
label_values(标签) 控件的标签值列表标签在每一个指标上。 / / api / v1 /标签标签/值
label_values(指标、标签) 控件的标签值列表标签在指定的度量。 /api/v1/series或/api/v1/label/标签/值,这取决于数据源配置中的Prometheus类型和版本
指标(指标) 返回与指定的参数匹配的指标列表度规正则表达式。 / api / v1 /标签/ __name__ /值
query_result(查询) 控件的Prometheus查询结果列表查询 / api / v1 /查询

详情请参阅指标名称标签的名称而且标签的值请参考普罗米修斯的文档

使用区间变量和范围变量

支持__range美元__range_s美元而且__range_ms美元仅从Grafana v5.3可用

您可以在查询变量中使用一些全局内置变量,例如,__interval美元__interval_ms美元__range美元__range_s美元而且__range_ms美元.看到全局内置变量更多信息。它们在配合使用时很方便query_result函数在需要筛选变量查询时使用label_values函数不支持查询。

确保设置了变量刷新触发…论时间范围的变化以便在更改仪表板上的时间范围时获得正确的实例。

使用示例:

根据仪表板中显示的时间范围内的平均QPS,用最忙的5个请求实例填充一个变量:

查询:query_result(topk(5, sum(rate(http_requests_total[$__range])) by (instance)))正则表达式:/"([^"]+)“/

使用指示板中显示的时间范围内具有特定状态的实例填充变量__range_s美元

查询:query_result(max_over_time([${__range_s}s]) != )

使用__rate_interval美元

注意:在Grafana 7.2及以上版本中可用

__rate_interval美元是建议间隔使用在而且增加功能。它在大多数情况下都是“正常工作”的,避免了使用固定间隔或固定间隔时可能出现的大多数陷阱__interval美元

OK: rate(http_requests_total[$__rate_interval])

细节:__rate_interval美元定义为max(__interval美元+刮间隔, 4 *刮间隔),刮间隔是最小步长设置(AKA查询interval,每个PromQL查询的设置)。否则,将使用Prometheus数据源中的scraper间隔设置。(面板中的最小间隔设置由分辨率设置修改,因此对_scrapinterval没有任何影响)。这篇文章包含其他详细信息。

查询中使用变量

有两种语法:

  • $ < varname >例如:率(http_requests_total{工作= ~“工作”美元}[5 m])
  • [[varname]]例如:率(http_requests_total{工作= ~“[[职业]]”}(5米))

为什么是两种方式?第一种语法更容易读和写,但不允许在单词中间使用变量。当多值包括所有价值选项启用后,Grafana将标签从纯文本转换为与正则表达式兼容的字符串。也就是说你要用= ~而不是

特设过滤器变量

普罗米修斯支持特别版AD hoc过滤器变量类型。它允许您动态地指定任意数量的标签/值过滤器。这些过滤器将自动应用于所有Prometheus查询。

注释

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

Prometheus支持两种查询注释的方式。

  • 一个常规的度量查询
  • 用于挂起和触发警报的Prometheus查询(有关详细信息,请参见在运行时检查警报

step选项对于限制从查询返回的事件数量非常有用。

把格拉夫娜的度量带进普罗米修斯

Grafana公开了Prometheus的度量/指标端点。我们还在Grafana中捆绑了一个仪表板,以便您可以更快地开始查看您的指标。您可以通过转到数据源编辑页面并单击仪表板选项卡来导入绑定的仪表板。在那里你可以找到一个格拉芙娜的仪表盘和一个普罗米修斯的仪表盘。导入并开始查看所有指标!

有关详细说明,请参阅内部Grafana度量

普罗米修斯API

Prometheus数据源与实现Prometheus查询API包括:

有关如何从Grafana查询其他与prometheus兼容的项目的更多信息,请参阅具体的项目文档。

提供Prometheus数据源

您可以在Grafana的供应系统中使用配置文件配置数据源。的工作原理以及可以为数据源设置的所有设置的详细信息配置文档页面

以下是该数据源的一些配置示例:

apiVersion: 1 datasources: - name: Prometheus type: Prometheus #访问模式- proxy (UI中的服务器)或direct (UI中的浏览器)。访问:代理url: http://localhost:9090 jsonData: httpMethod: POST prometheusType: Prometheus prometheusVersion: 2.37.0 exemplarTraceIdDestinations: #字段的内部链接指向Grafana中的数据源。# datasourceid值可以是任何值,但它应该在所有已定义的数据源uid中是唯一的。—datasourceid: my_jaeger_uid name: traceID #带有外部链接的字段。- name: traceID url: 'http://localhost:3000/explore?orgId=1&left=%5B%22now-1h%22,%22now%22,%22Jaeger%22,%7B%22query%22:%22$${__value.raw}%22%7D%5D'

亚马逊的普罗米修斯管理服务

Prometheus数据源与用于Prometheus的Amazon Managed Service一起工作。如果您正在使用AWS身份和访问管理(IAM)策略来控制对您的Amazon Managed Service for Prometheus域的访问,那么您必须使用AWS Signature Version 4 (AWS SigV4)对该域的所有请求进行签名。有关AWS SigV4的更多详细信息,请参阅AWS的文档

注意:需要Grafana版本7.3.5或更高版本才能使用SigV4身份验证。

如果需要使用SigV4认证方式连接Prometheus数据源到Amazon管理服务,请参见AWS指南建立Grafana开源或Grafana Enterprise与AMP一起使用

如果您正在Amazon EKS集群中运行Grafana,请遵循AWS指南在Amazon EKS集群中使用Grafana进行查询

配置范本

注意:该特性在Prometheus 2.26+和Grafana 7.4+中可用。

Grafana 7.4及其后续版本能够在Explore和Dashboards中同时显示示例数据和度量。范例是一种将特定事件的高基数元数据与传统时间序列数据关联的方法。

显示Exemplar细节窗口的截图
显示Exemplar细节窗口的截图

通过添加外部或内部链接,在数据源设置中配置Exemplars。

Exemplars配置的截图
Exemplars配置的截图