Cyn*_*nic 3 google-cloud-platform gcloud stackdriver
所以我设置了一个通知通道:
gcloud alpha monitoring channels create \
--description='test notification' \
--display-name='test_channel' \
--type=email \
--channel-labels=email_address=example@gmail.com
Run Code Online (Sandbox Code Playgroud)
但我似乎无法获得与命令行一起使用的警报策略(尝试避免使用从文件加载,因为我需要使用模板)。看起来这应该有效:
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'
Run Code Online (Sandbox Code Playgroud)
但它返回:
[--aggregation] 的值无效:仅当还指定了 --condition-filter 时才应指定。
但是,正如您所看到的,上面有一个--condition-filter标志。我尝试重新排序它,使其--condition-filter出现在 之前--aggregation,但这会导致持续时间错误,尽管它已经与文档匹配,并且像=60s、那样的轻微编辑=1min或在 中 的时间附近添加引号--aggregation似乎没有帮助:
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'
Run Code Online (Sandbox Code Playgroud)
怎么了?为什么我会收到这些错误?
经过一番刻意的尝试后,我成功地通过一些更改使其工作。
首先,我强烈建议您使用最新的 Cloud SDK 版本 - 如果您尚未使用gcloud components update. 就我而言,我使用了 Cloud SDK v275.0.0。
您提供的第一个命令片段可以正确创建通知通道,因此应该保持不变:
gcloud alpha monitoring channels create \
--description='test notification' \
--display-name='test_channel' \
--type=email \
--channel-labels=email_address=example@gmail.com
Run Code Online (Sandbox Code Playgroud)
不过,为了创建 Stackdriver Monitoring 策略,我必须执行一些更改:
标志指定的持续时间--duration似乎不能很好地识别该单位;为了不抛出错误,我必须将其更改为--duration='1min'。
--duration='1m'
需要一个警报策略组合器,因此我添加了一个组合器,在本例中--combiner选项设置为: 。AND--combiner='AND'
该
--notification-channels标志指定的通知通道需要和/ID或完全限定的标识符 - 它不会解析显示名称,因此我将其更改为--notification-channels=13234113421234567.
您可以找到ID之前使用以下命令创建的通知通道的标识符或完全限定标识符:
gcloud alpha monitoring channels list \
--filter='displayName="test_channel"' \
--format='value(name)'
Run Code Online (Sandbox Code Playgroud)最后,gcloud创建警报策略的命令应类似于以下内容:
gcloud alpha monitoring policies create \
--notification-channels=13234113421234567 \
--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='1m' \
--if='> 0.80' \
--display-name='test alert' \
--combiner='AND'
Run Code Online (Sandbox Code Playgroud)
请注意,此命令处于开发的alpha状态,因此某些特性或功能可能尚未完全充实和/或测试。
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |