使用gcloud创建Stackdriver Alert策略? (不从文件加载)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用gcloud创建Stackdriver Alert策略? (不从文件加载)相关的知识,希望对你有一定的参考价值。

所以我设置了一个通知渠道:

gcloud alpha monitoring channels create \
    --description='test notification' \
    --display-name='test_channel' \
    --type=email \
    --channel-labels=email_address=example@gmail.com

但是我似乎无法获得与command line配合使用的警报策略(试图避免使用文件加载,因为我需要使用模板)。看来这应该工作:

gcloud alpha monitoring policies create \
    --notification-channels=test_channel \
    --aggregation='"alignmentPeriod": "60s","perSeriesAligner": "ALIGN_MEAN"' \
    --condition-display-name='CPU Utilization >0.80 for 10m'\
    --condition-filter='metric.type="appengine.googleapis.com/flex/instance/cpu/utilization" resource.type="gae_instance"' \
    --duration='1min' \
    --if='> 0.80' \
    --display-name='test alert'

但它返回:

[-聚合]的无效值:仅在以下情况下应指定--condition-filter也已指定。

但是,正如您所看到的,上面有一个--condition-filter标志。我尝试对其重新排序,以使--condition-filter出现在--aggregation之前,但这会导致持续时间错误,尽管它已经与文档匹配,并且进行了细微的编辑,例如=60s=1min,或在[C0中的时间前后添加了引号]似乎无济于事:

--aggregation

怎么了?为什么会出现这些错误?

答案

经过一些有意的尝试,然后进行了一个错误处理,我设法进行了一些更改。

[首先,我强烈建议您使用最新的Cloud SDK版本-如果尚未使用gcloud alpha monitoring policies create \ --notification-channels=test_channel \ --condition-filter='metric.type=appengine.googleapis.com/flex/instance/cpu/utilization resource.type=gae_instance' \ --aggregation='"alignmentPeriod": "20s","perSeriesAligner": "ALIGN_MEAN"' \ --condition-display-name='CPU Utilization >0.80 for 1m'\ --duration='1min' \ --if='> 0.80' \ --display-name='test alert' ,请将其更新为最新版本。就我而言,我使用了Cloud SDK gcloud components update

您提供的第一个命令片段可正确创建一个通知通道,因此应保持相同:

gcloud components update

尽管为了创建Stackdriver Monitoring策略,我必须进行一些更改:

  • v275.0.0标志指定的持续时间似乎没有很好地认识单位;我必须从gcloud alpha monitoring channels create \ --description='test notification' \ --display-name='test_channel' \ --type=email \ --channel-labels=email_address=example@gmail.com 更改为--duration以便不引发错误。

  • 需要一个用于警报策略的组合器,因此在这种情况下,我添加了一个--duration='1min'选项设置为--duration='1m'的组合器:--combiner

  • --combiner标志要求和AND或完全限定标识符-它不解析显示名称,所以我将其更改为--combiner='AND'

    您可以找到--notification-channels或您先前创建的通知渠道:

    --notification-channels

最后,用于创建警报策略的ID命令应类似于以下内容:

--notification-channels=13234113421234567

请注意,此命令处于开发状态,因此某些特性或功能可能未得到充实和/或测试。

以上是关于使用gcloud创建Stackdriver Alert策略? (不从文件加载)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用JsonPayload参数在StackDriver过滤器中创建通知

Stackdriver 监控 - 指标缺失

使用 gcloud 创建 API 密钥?

需要帮助配置 Stackdriver 警报的条件

在stackdriver上监视VM进程

将标头添加到 gcloud 创建订阅推送命令