;数据源;谷歌云监控

在Grafana中使用谷歌云监控

Grafana自带对谷歌云监控的内置支持。将其添加为数据源,为您的谷歌云监控指标构建仪表板。有关如何添加数据源的说明,请参见添加数据源.只有具有组织管理员角色的用户才能添加数据源。

请注意在Grafana v7.1之前,谷歌Cloud Monitoring被称为谷歌Stackdriver。

配置“谷歌云监控”数据源

若要访问谷歌云监控设置,请将鼠标悬停在配置(齿轮)图标,然后点击数据源,单击添加数据源,然后单击谷歌云监控数据源。

的名字 描述
的名字 数据源名称。这就是在面板和查询中引用数据源的方式。
默认的 默认数据源意味着它是为新面板预先选择的。

有关身份验证选项和配置详细信息,请参见谷歌身份验证文档。

谷歌云监控特定数据源配置

需要先启用以下api:

单击上面的链接,然后单击启用按钮:

启用GCP api
启用GCP api

使用GCP服务帐户密钥文件

GCP服务帐户必须具有监控查看器角色如下图所示:

选择角色
选择角色

使用GCE默认服务帐号

当Grafana运行在GCE(谷歌computing Engine)虚拟机上时,使用的服务帐号必须能够访问云监控API范围。

使用查询编辑器

谷歌Cloud Monitoring查询编辑器允许您构建两种类型的查询-度规而且服务水平目标.这两种类型都返回时间序列数据。

度量查询

指标查询编辑器允许您选择指标,按标签和时间分组/聚合,并使用过滤器指定您希望在结果中显示的时间序列。

要创建一个指标查询,请遵循以下步骤:

  1. 选择这个选项指标查询类型下拉
  2. 选择一个项目项目下拉
  3. 选项中选择谷歌云平台服务服务下拉
  4. 选择一个度量度规下拉。
  5. 使用筛选器中的加号和减号图标和按节分组来添加/删除筛选器或按子句分组。此步骤是可选的。

谷歌云监控支持不同类型的指标,比如三角洲,而且累积.它们支持不同的聚合选项,例如,简化器和对齐器。Grafana查询编辑器显示所选指标的可用聚合方法列表,并在选择指标时设置默认的减速器和对齐器。

过滤器

要添加一个过滤器,点击加号图标,选择一个要过滤的字段,并输入一个过滤器值,例如。Instance_name = grafana-1.您可以通过单击垃圾图标来删除过滤器。

简单的通配符

当操作符设置为! =可以向筛选器值字段添加通配符。如我们- *会捕获所有以“我们”和开头的值吗*中央将捕获所有以" central-a "结尾的值。*遵从- *捕获子字符串为-central-的所有值。简单通配符比正则表达式便宜。

正则表达式

当操作符设置为= ~! = ~可以向筛选器值字段添加正则表达式。如美国中央[1 - 3]- (af)将匹配所有以“us-central”开头,后面跟着1到3的数字,一个破折号,然后是“a”或“f”的值。创建正则表达式时不需要前导斜杠和尾斜杠。

预处理

当所选指标的指标类型为时,预处理选项将显示在UI中δ累积.如果所选的度量有一个度量类型,将不会显示预处理选项。

如果您选择,对数据点进行对齐并转换为每个时间序列的速率。如果您选择δ,数据点按每个时间序列的增量(差)排列。

分组

您可以通过组合不同的时间序列来减少指标返回的数据量。若要组合多个时间序列,请指定分组和函数。

集团

按资源或度量标签分组,以减少时间序列的数量并按分组聚合结果。例如,group byinstance_name查看Compute实例的聚合指标。

元数据标签

资源元数据标签包含能够唯一标识谷歌Cloud中的资源的信息。元数据标签只在时间序列响应中返回集团时间序列请求中的段。

没有用于检索元数据标签的API。因此,您不能用所选服务和度量可用的元数据标签按列表填充组。然而,集团字段列表附带一组预定义的通用系统标签。

用户标签不能预先定义,但可以在集团字段。标签中包含元数据标签、用户标签或系统标签集团段,然后可以基于它创建过滤器,并在别名字段。

按功能分组

选择分组函数,可将组中的时间序列组合为单个时间序列。

对齐

对齐过程包括收集在固定时间内接收到的所有数据点,应用函数组合这些数据点,并为结果分配时间戳。

对齐功能

在对齐过程中,在固定的间隔内接收所有数据点。在每个间隔(由对齐周期确定)和每个时间序列中,数据被聚合到单个点。该点的值由所使用的对齐函数的类型决定。有关对齐函数的更多信息,请参见对准度量选择器

校准周期

校准周期如果选择聚合,则按时间对指标进行分组。默认是使用GCP谷歌云监控默认组(它允许您比较Grafana中的图与谷歌云监控UI中的图)。这个选项叫做云监控自动默认值是:

  • 如果时间范围< 23小时,则为1m
  • 5m用于时间范围>= 23小时和< 6天
  • 1h表示时间范围>= 6天

另一个自动选择是grafana汽车.这将根据所选择的时间范围和时间序列面板的宽度自动设置时间分组。有关grafana auto的更多信息,请参阅区间变量

你也可以选择固定的时间间隔分组,比如1 h1 d

别名模式

Alias By字段允许您控制图例键的格式。默认情况是显示度量名称和标签。这可能会很长,很难阅读。在alias字段中使用以下模式,您可以按您想要的方式格式化传奇键。

度量类型模式

别名模式 描述 例子的结果
{{metric.type}} 返回完整的度量类型 compute.googleapis.com/instance/cpu/utilization
{{metric.name}} 返回指标名称部分 实例/ cpu利用率
{{metric.service}} 返回服务部分 计算

标签模式

在Group By下拉菜单中,您可以看到指标和指标的资源标签列表。这些可以使用别名模式包含在图例键中。

别名模式格式 描述 别名模式示例 例子的结果
{{metric.label.xxx}} 返回度量标签值 {{metric.label.instance_name}} grafana-1-prod
{{resource.label.xxx}} 返回资源标签值 {{resource.label.zone}} us-east1-b
{{metadata.system_labels.xxx}} 返回元数据系统标签值 {{metadata.system_labels.name}} grafana
{{metadata.user_labels.xxx}} 返回元数据用户标签值 {{metadata.user_labels.tag}} 生产

别名通过:{{metric.type}}- {{metric.label.instance_name}}

结果示例:Compute.googleapis.com/instance/cpu/usage_time - server1-prod

还可以解析被监视资源类型的名称。

别名模式格式 描述 例子的结果
{{resource.type}} 返回被监视的资源类型的名称 gce_instance

别名通过:{{resource.type}}- {{metric.type}}

结果示例:Gce_instance - compute.googleapis.com/instance/cpu/usage_time

从Grafana面板到谷歌云控制台中的Metrics Explorer的深度链接

注意:在Grafana v7.1及更高版本中可用。

谷歌云监控深度连接
谷歌云监控深度连接

单击面板中的时间序列,可以看到一个上下文菜单,该菜单链接到谷歌Cloud Console中的度量资源管理器中的视图。单击该链接将打开谷歌云控制台中的Metrics Explorer,并从那里的Grafana面板运行查询。该链接首先将用户导航到谷歌帐户选择器,成功选择帐户后,用户被重定向到Metrics Explorer。提供的链接对于任何帐户都是有效的,但是只有当您的帐户有权访问查询中指定的GCP项目时,它才会显示查询。

自动单元检测

Grafana为每个查询编辑器行向Cloud Monitoring API发出一个查询,每个API响应包含一个单元。Grafana将尝试将返回的单元转换为可被Grafana时间序列面板理解的单元。如果转换成功,那么该单位将显示在面板的y轴上。如果查询编辑器行返回不同的单位,则在时间序列面板中使用最后一个查询编辑器行的单位。

SLO(服务水平目标)查询

注意:在Grafana v7.0及更高版本中可用。

谷歌Cloud Monitoring数据源中的SLO查询构建器允许您以时间序列格式显示SLO数据。要了解服务监控的基本概念,请参考谷歌云监控官方文档

如何创建SLO查询

按照以下步骤创建SLO查询:

  1. 选择这个选项服务水平目标查询类型下拉。
  2. 选择一个项目项目下拉。
  3. 选择一个SLO服务服务下拉。
  4. 选择一个SLOSLO下拉。
  5. 选择一个时间序列选择器选择器下拉。

时间序列选择器的友好名称显示在Grafana中。下面是从友好名称到服务监控文档中使用的系统名称的映射:

选择器下拉值 使用相应的时间序列选择器
SLI价值 select_slo_health
SLO合规 select_slo_compliance
剩余的SLO错误预算 select_slo_budget_fraction
燃烧速率 select_slo_burn_rate

SLO查询的别名模式

Alias By字段还允许您控制SLO查询的传奇键的格式。

别名模式 描述 例子的结果
{{项目}} 返回GCP项目名称 myProject
{{服务}} 返回服务名称 myService
{{slo}} 返回SLO latency-slo
{{选择器}} 返回选择器 select_slo_health

针对SLO查询的按时间排列周期/分组

SLO查询使用相同的方法作为度量查询的对齐周期功能

MQL(监视查询语言)查询

注意:在Grafana v7.4和更高版本中可用。

谷歌Cloud Monitoring数据源中的MQL查询构建器允许您以时间序列格式显示MQL结果。要了解MQL中的基本概念,请参考监控查询语言简介

创建一个MQL查询

要创建一个MQL查询,请遵循以下步骤:

  1. 查询类型列表中,选择指标
  2. 点击<>编辑MQL就在查询类型字段。这将切换度量查询构建器模式,以便可以使用原始MQL查询。
  3. 选择一个项目项目列表。
  4. 添加MQL在文本区域中选择的查询。

MQL查询的别名模式

MQL查询使用相同的别名模式度量查询

{{metric.service}}不支持。{{metric.type}}而且{{metric.name}}在响应中显示时间序列键。

模板

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

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

查询变量

类型的变量查询允许您查询谷歌云监控各种类型的数据。谷歌云监控数据源插件提供以下功能查询类型

的名字 描述
指标类型 返回可用于指定服务的度量类型名称的列表。
标签键 的键的列表标准标签而且资源标签在指定的度量。
标签的值 返回指定度量中标签的值列表。
资源类型 返回指定度量的资源类型列表。
聚合 返回指定度量的聚合(交叉级数减数器)列表。
调整器 返回指定度量的对齐器列表(每个系列对齐器)。
校准周期 返回在Grafana的谷歌云监控查询编辑器中可用的所有对齐周期的列表
选择器 返回可在SLO(服务级别目标)查询中使用的选择器列表
SLO服务 返回可以在SLO查询中使用的服务监视服务的列表
服务水平目标 返回指定SLO服务的SLO列表

查询中使用变量

请参阅变量语法文档

注释

注释允许您在图形的顶部覆盖丰富的事件信息。您可以通过Dashboard菜单/ Annotations视图添加注释查询。注释呈现的开销很大,因此限制返回的行数很重要。目前还不支持显示谷歌云监控注释和事件,但它可以很好地工作自定义指标在谷歌云监控。

使用注释的查询编辑器,您可以选择一个指标和过滤器。的标题而且文本字段支持模板,可以使用从查询返回的数据。例如,Title字段可以有以下文本:

{{metric.type}}has value: {{metric.value}}

结果示例:Monitoring.googleapis.com/uptime_check/http_status有这个值:502

注释查询编辑器的模式

别名模式格式 描述 别名模式示例 例子的结果
{{metric.value}} 度量值/点 {{metric.value}} 555
{{metric.type}} 返回完整的度量类型 {{metric.type}} compute.googleapis.com/instance/cpu/utilization
{{metric.name}} 返回指标名称部分 {{metric.name}} 实例/ cpu利用率
{{metric.service}} 返回服务部分 {{metric.service}} 计算
{{metric.label.xxx}} 返回度量标签值 {{metric.label.instance_name}} grafana-1-prod
{{resource.label.xxx}} 返回资源标签值 {{resource.label.zone}} us-east1-b

用供应配置数据源

您可以通过修改Grafana的配置文件来提供CloudWatch数据源。要了解有关配置和可设置的所有设置的更多信息,请参阅配置文档

下面是一个使用JWT(服务帐户密钥文件)身份验证类型的发放示例。

apiVersion: 1 datasources: -name:谷歌Cloud Monitoring type: stackdriver access: proxy jsonData: tokenUri: https://oauth2.googleapis.com/token clientEmail: stackdriver@myproject.iam.gserviceaccount.com authenticationType: jwt defaultProject: my-project-name secureJsonData: privateKey: | -----BEGIN PRIVATE KEY----- POSEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCb1u1Srw8ICYHS…yA+23427282348234= -----END私钥-----

下面是一个使用GCE默认服务帐户身份验证的发放示例。

apiVersion: 1 datasources: - name:谷歌Cloud Monitoring type: stackdriver access: proxy jsonData: authenticationType: gce