多个资源的 GCP 警报过滤条件

问题描述

我希望在设置 GCP 警报时能够过滤多个订阅。谁能解释一下?

我可以添加多个过滤器条目。但它们都与 AND 结合在一起。所以他们所有人都必须得到满足,而不是我想要的。

例如:假设我有 subscription-1ad-subscription-1auto-subscription-2my-subscription-dev

我只想为 auto-subscription-2my-subscription-dev 设置提醒 如何在过滤条件中指定?

解决方法

如果您将使用您的配置 form your previous question,请点击查询编辑器,它会显示您当前设置的等效查询。

enter image description here

在查询中,有一行 | filter (resource.subscription_id == 'auto-subscription-2)。只需添加 || 并在过滤器中包含您想要包含的订阅。应用 OR 表达式后,整行应如下所示:

| filter (resource.subscription_id == 'auto-subscription-2' || resource.subscription_id == 'my-subscription-dev')

整个查询应如下所示:

fetch pubsub_subscription
| metric 'pubsub.googleapis.com/subscription/num_undelivered_messages'
| filter (resource.subscription_id == 'auto-subscription-2' || resource.subscription_id == 'my-subscription-dev' )
| group_by 2m,[value_num_undelivered_messages_mean: mean(value.num_undelivered_messages)]
| every 2m
| condition val() > 5 '1'

注意:出于测试目的,我最初有 3 个订阅(test-sub、test-sub-2、test-sub-3)并且我过滤了 test-sub 和 test-sub-3: enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...