【发布时间】: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 中,唯一的问题是。 }}'。
我尝试过的其他事情
- 刚刚提到 {{ 定义“slack.myorg.webhook” }}https://hooks.slack.com/services/XXX/XX/XX{{ end }} 不会导致 任何问题。
- 如果我使用 username: '{{ template "slack.myorg.webhook" 。 }}' 在松弛配置下它不会抛出错误。
【问题讨论】:
标签: webhooks prometheus slack prometheus-alertmanager prometheus-operator