本文档介绍了如何添加信息中心级别的永久过滤条件 添加到自定义信息中心永久过滤器 - 让您可以修改数据 而不需要修改每个微件, 它们可以应用于整个信息中心,也可以仅应用于特定的 微件。信息中心工具栏会显示每个永久性过滤器 一个菜单,供您临时更改过滤条件的值。
当您需要定义信息中心上的默认呈现方式时
以及通过菜单驱动的选项来修改显示效果、添加永久性滤镜。对于
例如,如果您想查看所有可用区的指标
然后根据 zone
标签创建一个永久过滤条件。
您可以使用 Google Cloud 控制台或 Cloud Monitoring API。本文档将介绍如何使用 Google Cloud 控制台。如需了解如何使用 Cloud Monitoring API,请参阅 通过 API 创建和管理信息中心:信息中心过滤条件。
要了解如何添加和修改临时分组和过滤器, 请参阅向自定义信息中心添加临时过滤器。
信息中心过滤条件的运作方式
信息中心过滤条件会指定标签和值。生成 信息中心显示的内容决定可用于过滤的标签。 微件如何支持信息中心范围的过滤条件取决于数据类型 该微件将显示,且该微件的配置如下:
对于显示时间序列数据的微件(例如折线图), 以下规则适用:
如果 widget 显示的时序不支持 则信息中心范围的过滤条件不会更改显示的数据。
例如,如果您对标签
instance_id
添加过滤条件,但标签为图表 不显示带有instance_id
标签的数据,则 过滤器不会更改显示的数据。如果 widget 为某个标签指定了值,则 信息中心级过滤条件不会更改显示的数据。
例如,如果您对标签
instance_id
添加过滤条件,但标签为图表 添加一个基于instance_id
标签的过滤条件,然后 信息中心级过滤条件不会更改显示的数据。否则,图表只会过滤显示的数据 时序号。
对于日志面板微件,基于 更新查询的资源标签。例如,如果您将 信息中心范围的过滤条件 cluster_name: mycluster,则查询 已更新为包含 resource.labels."cluster_name"="mycluster"。
您可以添加多个信息中心范围内的过滤条件。这些过滤器通过 逻辑与。
准备工作
如需获取使用 Google Cloud 控制台添加或修改永久性过滤条件所需的权限,
请让管理员向您授予
项目的 Monitoring Editor (roles/monitoring.editor
) IAM 角色。
如需详细了解如何授予角色,请参阅管理访问权限。
有关角色的详细信息,请参阅 使用 Identity and Access Management 控制访问权限。
创建永久过滤器
在设计信息中心时,您可能会通过多种方式来查看
数据例如,当信息中心显示
您可能想查看所有虚拟机的指标
您可能需要查看特定可用区中虚拟机的指标。您可以创建
具有默认设置的 zone
标签的永久过滤器
所有可用区,*
。查看信息中心时,您可以使用
菜单zone
过滤器选择特定区域。
您可以将永久过滤条件限定为特定微件。 设想您希望并排查看指标的情形 两个不同可用区中的虚拟机您构建了两个图表集合, 为每个集合创建一个过滤器您的默认配置 实现您原来的目标。不过,在查看信息中心时 其中列出了变量和包含各种菜单的菜单 值。您可以使用这些菜单查看不同区域的数据。
仅适用于特定微件的永久过滤器有时称为 模板变量。创建此类过滤器后,如果您 向信息中心添加微件时,您也可以将该过滤条件应用到该微件。 如需更多信息 请参阅对微件应用永久过滤器。
如需创建永久过滤条件,请执行以下操作:
-
在 Google Cloud 控制台中,转到
信息中心页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在信息中心工具栏中,点击 settings 设置。 然后选择管理过滤器。
- 点击 arrow_drop_down 标签,然后选择一个标签。例如:
则可以选择
zone
。 点击 arrow_drop_down 默认值,然后选择默认值 标签的值。若要匹配所有值,请选择“
*
”。创建好过滤条件后,系统会将其添加到信息中心工具栏中。接收者 暂时更改过滤器值,选择过滤器 。
执行下列其中一项操作:
要将过滤器应用于信息中心上的所有微件,请选择应用到全部。 然后选择应用。
如需将过滤器应用于信息中心内的部分微件,请执行以下操作:
- 清除应用到全部。
- 在变量名称字段中,输入变量的显示名称 变量。
展开应用到图表菜单,选择需要 过滤条件,然后选择确定。
点击应用。
对微件应用永久过滤器
如需对微件应用永久过滤条件,您必须关联该微件 替换为以下变量:
对于使用菜单配置的图表,您可以 请在创建或修改过滤器时执行此关联。
对于日志面板,请修改该 widget 并配置默认查询。 请务必遵循 应用永久过滤条件的语法。
对于 MQL 或 PromQL 定义的图表和表,请修改 然后修改 MQL 或 PromQL。 请务必遵循 应用永久过滤条件的语法。
应用永久过滤条件的语法
例如,下面显示了信息中心的部分 JSON 表示法 ,用于定义模板变量和信息中心范围的过滤条件:
{ "dashboardFilters": [ { "filterType": "RESOURCE_LABEL", "labelKey": "instance_id", "stringValue": "3133577226154888113", "templateVariable": "iid" }, { "filterType": "RESOURCE_LABEL", "labelKey": "zone" } ], "displayName": "Illustrate Template Variables", ...
在显示的 JSON 中,dashboardFilters
结构中的第一个条目
代表一个名为 iid
的模板变量和一个名为
标签键 zone
。模板变量是
标签 instance_id
的别名。
模板变量的数据结构不会列出需要 。而是通过以下方法将 widget 与模板变量相关联: 修改微件的查询以包含对变量的引用。 当该 widget 显示在信息中心内时, 模板变量的值已解析。
如需了解如何为日志面板和图表添加注释,请参阅以下部分:
日志面板
要将日志面板配置为根据
模板变量,请将该变量添加到查询窗格中。以下示例
展示了按模板变量 iid
的值进行过滤的查询:
${iid}
在日志面板查询要显示的日志之前,模板变量
已解决。在此示例中,如果模板变量的值
为 "12345"
,则将 ${iid}
替换为语句
resource.labels."instance_id"="12345"
.
您还可以在查询中仅包含模板变量的值。 我们建议您仅在使用 正则表达式。例如,以下查询使用正则表达式 来匹配具有 JSON 载荷,其中包含描述的 字符串:
jsonPayload.message=~"Connected to instance: ${iid.value}"
如果您为日志面板配置了查询,请选择相应按钮 打开日志浏览器时,会先解析模板变量, Logs Explorer 打开。
下表展示了系统如何通过 日志面板:
语法 | Selected Value |
已解决的日志面板表达式 |
---|---|---|
${iid} |
12345 |
resource.labels."instance_id"="12345" |
${iid} |
* |
"" |
${iid.value} |
12345 |
12345 |
${iid.value} |
* |
.* |
MQL 定义的图表和表格
使用 Monitoring Query Language (MQL) 配置图表时,请在末尾添加竖线和 变量设置为以下查询字符串:
fetch gce_instance | metric 'compute.googleapis.com/instance/cpu/utilization' | every 1m | ${iid}
在图表查询要显示的时序之前,模板变量
已解决。在此示例中,如果模板变量的值
为 "12345"
,则将 ${iid}
替换为语句
filter (resource.instance_id == '12345')
.此过滤条件与时间匹配
标签为 resource.instance_id
的序列,并且仅当其值
为 12345
。
如果您想使用正则表达式过滤时序
将查询配置为仅包含模板变量的值。
下面对语法进行了说明,以说明该语法
展示了如何使用正则表达式来确定
标签 resource.instance_id
包含模板变量 iid
的值:
fetch gce_instance | metric 'compute.googleapis.com/instance/cpu/utilization' | filter resource.instance_id=~"${iid.value}" | group_by 1m, [value_utilization_mean: mean(value.utilization)] | every 1m
下表显示了如何针对 MQL 解析模板变量 查询:
语法 | Selected Value |
解析的 MQL 表达式 |
---|---|---|
${iid} |
12345 |
filter (resource.instance_id == '12345') |
${iid} |
* |
filter (true) |
${iid.value} |
12345 |
12345 |
${iid.value} |
* |
.* |
PromQL 定义的图表和表格
使用 PromQL 定义图表时,将 变量:
compute_googleapis_com:instance_cpu_utilization { project_id="my-project", ${iid} }
在图表查询要显示的时序之前,模板变量
已解决。在此示例中,如果模板变量的值
为 "12345"
,则将 ${iid}
替换为语句
instance_id == '12345'
.
与 MQL 类似,使用 PromQL 定义微件时,查询
只能提取模板变量的值。我们建议您
只将该值用作通过正则表达式定义的过滤器的一部分。接收者
下面对语法进行了说明,下面介绍了如何使用正则表达式
确定标签 instance_id
的值是否包含
模板变量 iid
:
compute_googleapis_com:instance_cpu_utilization{ instance_id=~"${iid.value}" }
下表显示了如何针对 PromQL 解析模板变量 查询:
语法 | Selected Value |
已解析的 PromQL 表达式 |
---|---|---|
${iid} |
12345 |
instance_id == '12345' |
${iid} |
* |
noop_filter=~".*" |
${iid.value} |
12345 |
12345 |
${iid.value} |
* |
.+ |
使用时间序列过滤条件定义的图表和表格
使用时间序列过滤条件定义图表时,请将变量 附加到过滤条件字符串:
"filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\" resource.type=\"gce_instance\" ${iid}"
与 MQL 和 PromQL 定义的图表不同,您不能使用该值 时序过滤条件中模板变量的值。
下表显示了如何解析模板变量:
语法 | Selected Value |
已解决的过滤条件表达式 |
---|---|---|
${iid} |
12345 |
resource.instance_id == "12345" |
${iid} |
* |
已忽略 |
${iid.value} |
12345 |
不支持 |
${iid.value} |
* |
不支持 |
修改永久过滤条件
临时更改信息中心上显示的任何过滤条件的值 点击过滤器名称,然后输入一个值 。
如需更改永久过滤器的配置,请执行以下操作:
-
在 Google Cloud 控制台中,转到
信息中心页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在信息中心工具栏中,点击 settings 设置。 然后选择管理过滤器。
- 找到要修改的过滤器,然后使用菜单 修改。
- 点击应用。
删除永久性过滤条件
-
在 Google Cloud 控制台中,转到
信息中心页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在信息中心工具栏中,点击 settings 设置。 然后选择管理过滤器。
- 找到要移除的过滤条件,然后点击 删除。
- 点击应用。