小编jeu*_*nii的帖子

用于 Slack 集成的 auth_token

我想使用 Terraform 在 GCP 中使用 slack 设置警报。

我的代码是:

resource "google_monitoring_notification_channel" "slack" {
  display_name = "Prod Slack Alerts"
  type         = "slack"
  labels = {
    "channel_name" = "#alert-channel"
  }
  sensitive_labels {
    auth_token = "one"
  }
}
Run Code Online (Sandbox Code Playgroud)

但问题是我如何获得auth_token?我看了这篇文章,但这个解决方案已经过时并且不起作用。另外,没有这方面的文档。我已经将 Google Cloud Monitoring 应用集成到我组织的 Slack 中。

slack google-cloud-monitoring terraform-provider-gcp

8
推荐指数
1
解决办法
1427
查看次数

在 gcp 监控过滤器中使用正则表达式

我正在尝试监视实例组并拥有基于正则表达式的过滤器。查询看起来像这样

fetch instance_group
| metric 'compute.googleapis.com/instance_group/size'
| filter (resource.instance_group_name =~ 'nat-ecmp-[1|2]')
| group_by 1m, [value_size_mean: mean(value.size)]
| every 1m
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试在 terraform 中做同样的事情。

这就是我到目前为止所想到的

condition_threshold {
      filter   = <<-EOF
                resource.type=\"instance_group\"
                metric.type=\"compute.googleapis.com/instance_group/size\"
                resource.label."instance_group_name"=~"nat-ecmp-[1|2]"
               EOF
      duration        = "300s"
      comparison      = "COMPARISON_LT"
      threshold_value = "1"
Run Code Online (Sandbox Code Playgroud)

但这会产生错误

Error creating AlertPolicy: googleapi: Error 400: Field alert_policy.conditions[0].condition_threshold.filter had an invalid value of "resource.type="instance_group"
metric.type="compute.googleapis.com/instance_group/size"
resource.label."instance_group_name"=~"nat-ecmp-[1|2]"
": Could not parse filter "resource.type=\"instance_group\"\nmetric.type=\"compute.googleapis.com/instance_group/size\"\nresource.label.\"instance_group_name\"=~\"nat-ecmp-[1|2]\"\n"; syntax error at line 3, column 37, token '=~'
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个

    condition_threshold {
      filter   = <<-EOF
                resource.type=\"instance_group\" …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-gcp

4
推荐指数
1
解决办法
3464
查看次数

pipelineTriggers 的正确语法

我有一份基于 DSL 的种子工作。这就是看起来的样子

pipelineJob("job name") {
        description('Some explanation')
        triggers {
                cron('@midnight')
                upstream('someJob', 'SUCCESS')
        }
        parameters {
        ...
Run Code Online (Sandbox Code Playgroud)

当我运行作业时,它最终不稳定并出现错误消息

Warning: (Builds.groovy, line 53) triggers is deprecated
Run Code Online (Sandbox Code Playgroud)

所以现在我重新编写了代码如下

pipelineJob("job name") {
        description('Some explanation')
        properties {
            pipelineTriggers {
                triggers {
                        cron('@midnight')
                        upstream('someJob', 'SUCCESS')
                }
            }
         parameters {
         ...
Run Code Online (Sandbox Code Playgroud)

现在我得到了错误

ERROR: (unknown source) No signature of method: javaposse.jobdsl.plugin.structs.DescribableListContext.cron() is applicable for argument types: (java.lang.String) values: [@midnight]
Possible solutions: grep(), print(java.io.PrintWriter), print(java.lang.Object), grep(java.lang.Object), wait(), any()
Run Code Online (Sandbox Code Playgroud)

现在我将其重写为

pipelineJob("job name") {
        description('Some explanation')
        properties {
            pipelineTriggers { …
Run Code Online (Sandbox Code Playgroud)

jenkins-job-dsl jenkins-pipeline

3
推荐指数
1
解决办法
4613
查看次数