helm prometheus operator - 设置电子邮件 notifications/edit 机密
helm prometheus operator - set email notifications/edit secrets
我已经通过 helm 安装了 prometheus-operator,现在想为警报管理器设置电子邮件通知:
我编辑了 prometheus operator secret
kubectl get secret alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring -o yaml
apiVersion: v1
data:
alertmanager.yaml: Z2xvYmFsOgogIHJlc29sdmVfdGltZW91dDogNW0KcmVjZWl2ZXJzOgotIG5hbWU6ICJudWxsIgpyb3V0ZToKICBncm91cF9ieToKICAtIGpvYgogIGdyb3VwX2ludGVydmFsOiA1bQogIGdyb3VwX3dhaXQ6IDMwcwogIHJlY2VpdmVyOiAibnVsbCIKICByZXBlYXRfaW50ZXJ2YWw6IDEyaAogIHJvdXRlczoKICAtIG1hdGNoOgogICAgICBhbGVydG5hbWU6IFdhdGNoZG9nCiAgICByZWNlaXZlcjogIm51bGwi
kind: Secret
metadata:
creationTimestamp: "2020-03-23T09:19:57Z"
labels:
app: prometheus-operator-alertmanager
chart: prometheus-operator-8.12.2
heritage: Helm
release: prometheus
name: alertmanager-prometheus-prometheus-oper-alertmanager
namespace: monitoring
resourceVersion: "1853097"
selfLink: /api/v1/namespaces/monitoring/secrets/alertmanager-prometheus-prometheus-oper-alertmanager
uid: eb7f514e-6bf4-4791-9c1a-e45590ba2a36
type: Opaque
echo 'Z2xvYmFsOgogIHJlc29sdmVfdGltZW91dDogNW0KcmVjZWl2ZXJzOgotIG5hbWU6ICJudWxsIgpyb3V0ZToKICBncm91cF9ieToKICAtIGpvYgogIGdyb3VwX2ludGVydmFsOiA1bQogIGdyb3VwX3dhaXQ6IDMwcwogIHJlY2VpdmVyOiAibnVsbCIKICByZXBlYXRfaW50ZXJ2YWw6IDEyaAogIHJvdXRlczoKICAtIG1hdGNoOgogICAgICBhbGVydG5hbWU6IFdhdGNoZG9nCiAgICByZWNlaXZlcjogIm51bGwi' | base64 --decode
创建了新的 alertmanager.yaml 文件
global:
resolve_timeout: 5m
route:
group_by: [Alertname]
# Send all notifications to me.
receiver: email-alert
group_by: ['job', 'alertname', 'service', 'severity']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receiver: email-alert
routes:
- match:
severity: critical
receiver: email-alert
receivers:
- name: email-alert
email_configs:
- to: email@example.com
from: email@example.com
# Your smtp server address
smarthost: smtp.office365.com:587
auth_username: email@example.com
auth_identity: email@example.com
auth_password: Pass
创建的模板:
apiVersion: v1
data:
alertmanager.yaml: ALERTMANAGER_CONFIG
kind: Secret
metadata:
name: alertmanager-main
namespace: monitoring
type: Opaque
编码并应用
sed "s/ALERTMANAGER_CONFIG/$(cat alertmanager.yaml | base64 -w0)/g" alertmanager-secret-k8s.yaml | kubectl apply -f -
我通过端口 30700 将 alertmanager 暴露为 Nodeport
所以当我访问它时 (http://IP:30700/#/status),我看到这个 alertmanager.yaml 没有应用,即秘密没有改变。
我需要做什么才能编辑这个 prometheus alertmanager 秘密?
尝试过
helm upgrade prometheus stable/prometheus-operator --namespace monitoring -f alertmanager.yaml
没有帮助
感谢 this 参考
删除当前机密:
kubectl delete secret alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring
创建文件alertmanager.yaml:
global:
resolve_timeout: 5m
route:
receiver: 'email-alert'
group_by: ['job']
routes:
- receiver: 'email-alert'
match:
alertname: etcdInsufficientMembers
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receivers:
- name: email-alert
email_configs:
- to: receiver@example.com
from: sender@example.com
# Your smtp server address
smarthost: smtp.office365.com:587
auth_username: sender@example.com
auth_identity: sender@example.com
auth_password: pass
创建与旧密钥同名的新密钥:
kubectl create secret generic alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring --from-file=alertmanager.yaml
我已经通过 helm 安装了 prometheus-operator,现在想为警报管理器设置电子邮件通知:
我编辑了 prometheus operator secret
kubectl get secret alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring -o yaml
apiVersion: v1
data:
alertmanager.yaml: Z2xvYmFsOgogIHJlc29sdmVfdGltZW91dDogNW0KcmVjZWl2ZXJzOgotIG5hbWU6ICJudWxsIgpyb3V0ZToKICBncm91cF9ieToKICAtIGpvYgogIGdyb3VwX2ludGVydmFsOiA1bQogIGdyb3VwX3dhaXQ6IDMwcwogIHJlY2VpdmVyOiAibnVsbCIKICByZXBlYXRfaW50ZXJ2YWw6IDEyaAogIHJvdXRlczoKICAtIG1hdGNoOgogICAgICBhbGVydG5hbWU6IFdhdGNoZG9nCiAgICByZWNlaXZlcjogIm51bGwi
kind: Secret
metadata:
creationTimestamp: "2020-03-23T09:19:57Z"
labels:
app: prometheus-operator-alertmanager
chart: prometheus-operator-8.12.2
heritage: Helm
release: prometheus
name: alertmanager-prometheus-prometheus-oper-alertmanager
namespace: monitoring
resourceVersion: "1853097"
selfLink: /api/v1/namespaces/monitoring/secrets/alertmanager-prometheus-prometheus-oper-alertmanager
uid: eb7f514e-6bf4-4791-9c1a-e45590ba2a36
type: Opaque
echo 'Z2xvYmFsOgogIHJlc29sdmVfdGltZW91dDogNW0KcmVjZWl2ZXJzOgotIG5hbWU6ICJudWxsIgpyb3V0ZToKICBncm91cF9ieToKICAtIGpvYgogIGdyb3VwX2ludGVydmFsOiA1bQogIGdyb3VwX3dhaXQ6IDMwcwogIHJlY2VpdmVyOiAibnVsbCIKICByZXBlYXRfaW50ZXJ2YWw6IDEyaAogIHJvdXRlczoKICAtIG1hdGNoOgogICAgICBhbGVydG5hbWU6IFdhdGNoZG9nCiAgICByZWNlaXZlcjogIm51bGwi' | base64 --decode
创建了新的 alertmanager.yaml 文件
global:
resolve_timeout: 5m
route:
group_by: [Alertname]
# Send all notifications to me.
receiver: email-alert
group_by: ['job', 'alertname', 'service', 'severity']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receiver: email-alert
routes:
- match:
severity: critical
receiver: email-alert
receivers:
- name: email-alert
email_configs:
- to: email@example.com
from: email@example.com
# Your smtp server address
smarthost: smtp.office365.com:587
auth_username: email@example.com
auth_identity: email@example.com
auth_password: Pass
创建的模板:
apiVersion: v1
data:
alertmanager.yaml: ALERTMANAGER_CONFIG
kind: Secret
metadata:
name: alertmanager-main
namespace: monitoring
type: Opaque
编码并应用
sed "s/ALERTMANAGER_CONFIG/$(cat alertmanager.yaml | base64 -w0)/g" alertmanager-secret-k8s.yaml | kubectl apply -f -
我通过端口 30700 将 alertmanager 暴露为 Nodeport
所以当我访问它时 (http://IP:30700/#/status),我看到这个 alertmanager.yaml 没有应用,即秘密没有改变。
我需要做什么才能编辑这个 prometheus alertmanager 秘密?
尝试过
helm upgrade prometheus stable/prometheus-operator --namespace monitoring -f alertmanager.yaml
没有帮助
感谢 this 参考
删除当前机密:
kubectl delete secret alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring
创建文件alertmanager.yaml:
global: resolve_timeout: 5m route: receiver: 'email-alert' group_by: ['job'] routes: - receiver: 'email-alert' match: alertname: etcdInsufficientMembers group_wait: 30s group_interval: 5m repeat_interval: 12h receivers: - name: email-alert email_configs: - to: receiver@example.com from: sender@example.com # Your smtp server address smarthost: smtp.office365.com:587 auth_username: sender@example.com auth_identity: sender@example.com auth_password: pass
创建与旧密钥同名的新密钥:
kubectl create secret generic alertmanager-prometheus-prometheus-oper-alertmanager -n monitoring --from-file=alertmanager.yaml