2

マルチテナント Kubernetes クラスターがあり、Prometheus Alertmanager を使用して Slack 経由でこれらのテナントにアラートを送信します。

したがって、これを含む構成があります:

slack_configs:
 - send_resolved: true
   channel: '{{ printf "topic-svc-%.11s" (index (index .Alerts 0).Labels "namespace") }}'

(%.11s により、チャネル名が 21 文字の制限内に収まるようになります)

これは、slack チャネルが存在する場合はうまく機能しますが、チャネルが存在しない場合、アラートはイーサで終了します (アラートには適していません!)。

Alertmanager のログに表示される内容はかなり限られています。たとえば、ユーザー データのない一般的なエラーです。

alertmanager-k8s-0 alertmanager level=error ts=2018-11-09T15:01:52.134984182Z caller=dispatch.go:280 component=dispatcher msg="Notify for alerts failed" num_alerts=3 err="cancelling notify retry for \"slack\" due to unrecoverable error: unexpected status code 404"

あらゆる種類のオプションを試し、StackOverflow をチェックしましたが、すべての例にはスラック チャネルの単純な固定名があるようです

4

0 に答える 0