[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)"