Connect 连接到谷歌云端监控数据源 - Amazon Managed Grafana

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Connect 连接到谷歌云端监控数据源

注意

在早期版本的 Grafana 中,这个数据源被命名为 Google Stackdriver。

添加 Google 云监控数据源,以便能够为您的 Google 云监控指标构建控制面板。

添加数据源

  1. 选择顶部标题中的 Grafana 图标,打开侧面菜单。

  2. 在侧面菜单的 “仪表板” 链接下,您应该找到 “数据源” 链接。

  3. 选择顶部标题中的 “+ 添加数据源” 按钮。

  4. 从 “类型” 下拉列表中选择 “谷歌云端监控”。

  5. 上传或粘贴到服务帐号密钥文件中。有关创建服务帐号密钥文件的步骤,请参阅本文档后面的部分。

注意

如果您在侧面菜单中看不到数据源链接,则表示您当前的用户没有该Admin角色。

名称 描述
Name 数据源名称。这就是您在面板和查询中引用数据源的方式。
Default 默认数据源意味着将为新面板预先选择该数据源。
Service Account Key GCP 项目的服务帐号密钥文件。有关如何创建它的说明,请参阅本文档后面的说明。

身份验证

有两种方法可以对 Google 云端监控插件进行身份验证

  • 上传谷歌 JWT 文件

  • 自动从 Google 元数据服务器检索凭据

后一个选项只有在 GCE 虚拟机上运行 Grafana 时才可用。

使用 Google 服务帐号密钥文件

要使用 Google 云监控 API 进行身份验证,您必须为要显示其数据的项目创建一个 Google 云平台 (GCP) 服务帐号。Grafana 数据源与一个 GCP 项目集成。要可视化来自多个 GCP 项目的数据,必须为每个 GCP 项目创建一个数据源。

启用 API

必须先启用以下 API:

选择列出的链接,然后选择 “启用” 按钮。

为项目创建 GCP 服务帐户

  1. 导航到 API 和服务凭证页面

  2. 选择创建凭据下拉列表/按钮,然后选择服务帐号密钥选项。

    {{< docs-imagebox img=” /img/docs/v71/cloudmonitoring_create_service_account_button.png “class= “docs-image—no-shadow” caption= “创建服务账户按钮” >}}

  3. 创建服务帐号密钥页面上,选择密钥类型JSON。然后,在 “服务帐户” 下拉列表中,选择 “新建服务帐户” 选项。

    {{< docs-imagebox img=” /img/docs/v71/cloudmonitoring_create_service_account_key.png “class= “docs-image—no-shadow” caption= “创建服务账户密钥” >}}

  4. 将出现一些新字段。在 “服务帐户名称” 字段中填写服务帐户的名称,然后从 “角色” 下拉列表中选择 “监视查看者角色

    {{< docs-imagebox img=” /img/docs/v71/cloudmonitoring_service_account_choose_role.png “class= “docs-image—no-shadow” caption= “选择角色” >}}

  5. 选择创建按钮。将创建 JSON 密钥文件并将其下载到您的计算机。将此文件存储在安全的地方,因为它允许访问您的 Google 云监控数据。

  6. 将其上传到数据源配置页面上的 Grafana。您可以上传文件或粘贴文件内容。

    {{< docs-imagebox img=” /img/docs/v71/cloudmonitoring_grafana_upload_key.png “class= “docs-image—no-shadow” caption= “上传服务密钥文件到 Grafana” >}}

  7. 文件内容将被加密并保存在 Grafana 数据库中。上传文件后别忘记保存!

    {{< docs-imagebox img=” /img/docs/v71/cloudmonitoring_grafana_key_uploaded.png “class= “docs-image—no-shadow” caption= “服务密钥文件已上传到 Grafana” >}}

使用 查询编辑器

Google Cloud 监控查询编辑器允许您构建两种类型的查询:指标服务级别目标 (SLO)。两种类型都返回时间序列数据。

指标查询

指标查询编辑器允许您选择指标,按标签和时间进行分组/聚合,并使用筛选器指定要在结果中显示哪个时间序列。

要创建指标查询,请执行以下步骤:

  1. 在 “查询类型” 下拉列表中选择 “指标” 选项。

  2. 从 “项目” 下拉列表中选择一个项目

  3. 从 “服务” 下拉列表中选择一项 Google 云平台服务

  4. 从 “指标” 下拉列表中选择一个指标

  5. 要添加或移除筛选器或分组依据子句,请使用筛选器和分组依据部分中的加号和减号图标。此为可选步骤。

Google Cloud 监控指标可以有不同的类型(仪表、增量、累积),这些指标支持不同的聚合选项(缩减器和对齐器)。Grafana 查询编辑器显示所选指标的可用聚合方法列表,并在选择指标时设置默认缩减器和对齐器。查询编辑器还会自动选择 Y 轴的单位。

筛选条件

要添加筛选器,请选择加号图标,选择筛选依据的字段,然后输入筛选器值。例如,输入 instance_name = grafana-1。您可以通过选择过滤器名称并选择来移除过滤器--remove filter--

简单的通配符

当运算符设置为或=!=时,可以向筛选值字段添加通配符。例如,us-*捕获所有以 “us-” 开头的值,并*central-a捕获所有以 “central-a” 结尾的值。 *-central-*捕获子字符串为的所有值。central-简单的通配符比正则表达式便宜。

正则表达式

当运算符设置为或时,=~!=~可以向筛选值字段添加正则表达式。例如,us-central[1-3]-[af]匹配所有以 “us-central” 开头的值,后跟一个介于 1 到 3 之间的数字、一个破折号,然后是 “a” 或 “f”。创建正则表达式时不需要前导斜杠和尾部斜杠。

聚合

聚合字段允许您根据常用统计数据合并时间序列。有关聚合的更多信息,请参阅聚合选项

Aligner字段允许您按时间间隔对齐同一组后的多个时间序列。有关校准器的更多信息,请参阅校准度量选择器

对齐周期和按时间分组

如果选择了聚合,则会按时间对指标进行分Alignment Period组。默认为使用 GCP 谷歌云监控的默认分组(这允许你将 Grafana 中的图表与 Google 云监控界面中的图表进行比较)。该选项被调用cloud monitoring auto,默认值为:

  • 对于时间范围 < 23 小时,则为 1m

  • 对于时间范围 >= 23 小时和 < 6 天,则为 5m

  • 对于时间范围 >= 6 天,则为 1 小时

另一个自动选项是grafana auto。这将根据所选的时间范围和图表面板的宽度自动按时间设置分组。有关更多信息,请参阅 添加间隔变量

也可以选择固定的时间间隔作为分组依据,例如1h1d

分组依据

按资源或指标标签进行分组以减少时间序列的数量,并按分组对结果进行聚合。例如,按 instance_name 分组以查看计算实例的聚合指标。

元数据标签

资源元数据标签包含用于唯一标识 Google Cloud 中资源的信息。只有当元数据标签是时间序列请求中分组依据区段的一部分时,才会在时间序列响应中返回。没有用于检索元数据标签的 API,因此无法使用适用于所选服务和指标的元数据标签填充分组依据下拉列表。但是,“分组依据” 字段下拉列表附带了预定义的常用系统标签列表。

用户标签无法预定义,但可以在 “分组依据” 字段中手动输入。如果元数据标签、用户标签或系统标签包含在 Group By 区段中,则可以基于该标签创建筛选器并在 “别名” 字段中扩展其值。

别名模式

Alias By 字段允许您控制图例键的格式。默认为显示指标名称和标签。这可能很长而且很难阅读。在别名字段中使用以下模式,您可以根据需要设置图例密钥的格式。

指标类型模式

别名模式 描述 结果示例
{{metric.type}} 返回完整的指标类型。 compute.googleapis.com/instance/cpu/utilization
{{metric.name}} 返回指标名称部分。 instance/cpu/utilization
{{metric.service}} 返回服务部件。 compute

标签图案

在 “分组依据” 下拉列表中,您可以看到指标的指标和资源标签列表。它们可以使用别名模式包含在图例键中。

别名模式格式 描述 别名模式示例 结果示例
{{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}} production

示例别名作者:{{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

SLO 查询

注意

SLO 查询仅在 Grafana 7.0+ 版本中可用

Google 云监控数据源中的 SLO 查询生成器允许您以时间序列格式显示 SLO 数据。要了解服务监控的基本概念,请参阅 Google 云监控官方文档

创建 SLO 查询

要创建 SLO 查询,请执行以下步骤:

  1. 在 “查询类型” 下拉列表中选择 “服务级别目标 (SLO)” 选项。

  2. 从 “项目” 下拉列表中选择一个项目

  3. 从 “服务” 下拉列表中选择 SLO 服务

  4. SLO 下拉列表中选择一个 SLO

  5. 从 “选择器” 下拉列表中选择一个时间序选择器

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

选择器下拉列表值 使用了相应的时间序列选择器
SLI 价值 选择_slo_health
SLO 合规性 选择慢速合规性
SLO 错误预算剩余 选择慢速预算分数

SLO 查询的别名模式

您可以使用 Alias By 字段来控制 SLO 查询的图例键的格式。

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

SLO 查询的对齐周期和按时间分组

SLO 查询使用与指标查询相同的对齐周期功能。有关更多信息,请参阅 指标查询

模板化

不必在指标查询中对服务器、应用程序和传感器名称等内容进行硬编码,而可以使用变量来代替它们。变量显示为仪表板顶部的下拉选择框。您可以使用这些下拉框来更改控制面板中显示的数据。

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

查询变量

Query 类型的变量允许您查询 Google 云监控以获取各种类型的数据。Google 云端监控数据源插件提供了以下内容Query Types

名称 描述
Metric Types 返回可用于指定服务的指标类型名称列表。
Labels Keys 返回指定指标resource labelmetric label和的密钥列表。
Labels Values 返回指定指标中标签的值列表。
Resource Types 返回指定指标的资源类型列表。
Aggregations 返回指定指标的聚合(跨序列缩减器)列表。
Aligners 返回指定指标的校准器(按系列对齐器)列表。
Alignment periods 返回 Grafana 中谷歌云监控查询编辑器中可用的所有对齐周期的列表。
Selectors 返回可用于 SLO(服务级别目标)查询的选择器列表。
SLO Services 返回可用于 SLO 查询的服务监控服务的列表。
Service Level Objectives (SLO) 返回指定 SLO 服务的 SLO 列表。

在查询中使用变量

有两种语法:

  • $<varname>示例:metric.label.$metric_label

  • [[varname]]示例:metric.label.[[metric_label]]

为什么是两种方式? 第一种语法更易于阅读和编写,但不允许在单词中间使用变量。启用 “多值” 或 “包含所有值” 选项后,Grafana 会将标签从纯文本转换为与正则表达式兼容的字符串,这意味着您必须使用代替。=~ =

注释

您可以使用注释将丰富的事件信息叠加在图表之上。您可以通过控制板菜单/注释视图添加注释查询。注释渲染成本很高,因此限制返回的行数很重要。目前尚不支持显示 Google 云监控注释和事件,但它可以很好地与 Google 云监控中的自定义指标配合使用。

有关注释的更多信息,请参阅注释

使用注释查询编辑器,您可以选择指标和筛选条件。“标” 和 “文本” 字段支持模板化,并且可以使用查询返回的数据。例如,“标题” 字段可能包含以下文本:

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

结果示例:monitoring.googleapis.com/uptime_check/http_status has this value: 502

注解查询编辑器的模式

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

从 Grafana 面板深度链接到 Google 云端控制台中的指标浏览器

注意

此功能仅适用于指标查询。

在面板中选择一个时间序列,即可看到一个上下文菜单,其中包含指向 Google Cloud 控制台的指标资源管理器中查看的链接。选择该链接会在 Google Cloud 控制台中打开指标资源管理器,然后从那里的 Grafana 面板运行查询。该链接会首先将用户导航到 Google 帐号选择器。成功选择账户后,用户将被重定向到指标浏览器。提供的链接对任何账户都有效,但只有当您的账户有权访问查询中指定的 GCP 项目时,它才会显示查询。