[OpenShift] 配置Alertmanager

首先

我将配置 Prometheus 的 Alertmanager,并确认如何设置 OpenShift 的警报方式。

版本是OCP4.5.4。

$ oc version
Client Version: 4.5.4
Server Version: 4.5.4
Kubernetes Version: v1.18.3+012b3ec

秘密的设置

这次我们将通过电子邮件发送警报。

确认Secret并将其写入文件中

检查已存在的 alertmanager-main Secret,并将其写入文件中。

$ oc describe secrets -n openshift-monitoring alertmanager-main
Name:         alertmanager-main
Namespace:    openshift-monitoring
Labels:       <none>
Annotations:  <none>

Type:  Opaque

Data
====
alertmanager.yaml:  278 bytes

$ oc extract secret/alertmanager-main --to /tmp/ -n openshift-monitoring --confirm
/tmp/alertmanager.yaml

编辑设定文件

将开始写的配置文件按照以下方式进行编辑。

"global":
  "resolve_timeout": "5m"
  smtp_smarthost: 192.168.1.254:24 #追記。 SMTPホスト
  smtp_from: alerts@example.com #追記。送信者のメールアドレス
  smtp_require_tls: false #追記。SMTPにTLSが必要かどうか
"receivers":
- "name": default #変更
- name: email-notification #追記。任意の名前
  email_configs: #追記。メールでアラートを送信する
  - to: hoge@example.com #追記。送信先メールアドレス
"route":
  "group_by":
  - "namespace"
  "group_interval": "5m"
  "group_wait": "30s"
  "receiver": default #変更
  "repeat_interval": 1m #変更。アラートを再送するまでの待機時間(すぐに再送されるように短くした)
  "routes":
  - "match":
      "alertname": "Watchdog"
    "receiver": default
  - match: #追記
      severity: warning #追記。Warningでアラートを送信する。(ここではすぐに送信されるようにWarningにした)
    receiver: email-notification #追記。使用するレシーバー

更新了秘密

使用编辑过的文件来更新密码。

$ oc set data secret/alertmanager-main -n openshift-monitoring --from-file /tmp/alertmanager.yaml
secret/alertmanager-main data updated

确认在更新后输出以下日志。

$ oc logs -f -c alertmanager alertmanager-main-0 -n openshift-monitoring
・・・
level=info ts=2021-04-10T06:42:03.588Z caller=coordinator.go:131 component=configuration msg="Completed loading of configuration file" file=/etc/alertmanager/config/alertmanager.yaml

确认

我将在客户端上确认是否已发送警报邮件。

$ mailx
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/lab": 2 messages 1 new
    1 alerts@example.  Fri Apr  9 09:48 188/10319 "[FIRING:1]  (AlertmanagerReceiversNotConfigured openshif"
>N  2 alerts@example.  Sat Apr 10 02:41 219/12401 "[FIRING:2]  (openshift-monitoring/k8s warning)"
bannerAds