【问题标题】:Prometheus' Alertmanager Slack webhook getting "alertmanager.yaml err="unsupported scheme \"\" for URL"Prometheus 的 Alertmanager Slack webhook 获取“alertmanager.yaml err="unsupported scheme \"\" for URL”
【发布时间】:2020-03-13 05:59:08
【问题描述】:

我正在尝试向 Slack 发送 Alertmananger 警报,并且我使用我的自定义模板成功地做到了。

但现在我想向不同的渠道发送警报,从而从配置文件中选择不同的 webhook,我无法这样做并得到

component=configuration msg="Loading configuration file failed" file=/etc/alertmanager/config/alertmanager.yaml err="unsupported scheme \"\" for URL"

我从模板文件中选择 webhook,问题主要在于加载变量“slack.myorg.webhook”

Alertmanager.yaml

global:
  resolve_timeout: 5m
  slack_api_url: '{{ template "slack.myorg.webhook" . }}'
route:
  group_by: ['alertname']
  ...
  ...
  ...
templates: ['/etc/alertmanager/config/*.tmpl']

slack-myorg-template.tmpl

稍后我将添加我的逻辑以在某些标签上选择 webhook,因为现在只是通过模板加载

# To identify from which cluster the alerts are comming
{{ define "slack.myorg.username" }}Minikube{{ end }}

# select webhook
{{ define "slack.myorg.webhook" }}https://hooks.slack.com/services/XXX/XX/XX{{ end }}

如果 slack.myorg.webhook 没有通过调用 '{{ template "slack.myorg.webhook" 完美加载到 slack_api_url 中,唯一的问题是。 }}'。

我尝试过的其他事情

  1. 刚刚提到 {{ 定义“slack.myorg.webhook” }}https://hooks.slack.com/services/XXX/XX/XX{{ end }} 不会导致 任何问题。
  2. 如果我使用 username: '{{ template "slack.myorg.webhook" 。 }}' 在松弛配置下它不会抛出错误。

【问题讨论】:

    标签: webhooks prometheus slack prometheus-alertmanager prometheus-operator


    【解决方案1】:

    slack_api_url(以及来自 slack_config 的 api_url)不支持模板。

    https://github.com/prometheus/alertmanager/issues/2207#event-3127085200

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 2020-01-30
      • 1970-01-01
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多