用于 Slack 集成的 auth_token

jeu*_*nii 8 slack google-cloud-monitoring terraform-provider-gcp

我想使用 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 中。

jeu*_*nii 6

好吧,所以我找到了方法。它有点老套,但它为我完成了工作!

我首先使用 UI 手动创建 Slack 集成。单击“编辑通知频道”。新的 slack 集成完成后,我运行以下gcloud命令:

gcloud alpha monitoring channels list --project <PROJECT>
Run Code Online (Sandbox Code Playgroud)

这将返回

...
displayName: Prod Slack Alerts
enabled: true
labels:
  auth_token: '****************************************************GdjG'
  channel_name: '#slack_channel'
name: projects/<PROJECCT>/notificationChannels/<CHANNEL-ID>
type: slack
...
Run Code Online (Sandbox Code Playgroud)

这让您知道它以 结尾GdjG。您的令牌可能会以不同的方式结束。您需要使用网络浏览器的检查器找到它。我将使用GdjG作为一个例子。

现在返回并再次手动创建松弛通知,但这一次,打开 Web 浏览器的检查器并搜索GdjG. 完成所有流程后,您应该看到如下内容:

在此输入图像描述

所以寻找类似的网址

Request URL: https://slack.com/api/auth.test?token=
:path: /api/auth.test?token=

Run Code Online (Sandbox Code Playgroud)

现在,您可以继续使用该令牌使用 Terraform 创建您的 slack 通道。根据我的经验,如果您尝试与同一个 Slack 组织集成,则令牌不会改变。