gpt4 book ai didi

kubernetes - 如何使用 Prometheus Alert Manager 在 Kubernetes 中触发警报

转载 作者:行者123 更新时间:2023-12-02 11:30:07 26 4
gpt4 key购买 nike

我已经在我的集群中设置了 kube-prometheus( https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus )。它包含一些默认警报,如“CoreDNSdown 等”。如何创建我自己的警报?

任何人都可以为我提供示例示例来创建将向我的 Gmail 帐户发送电子邮件的警报吗?

我关注了这个 Alert when docker container pod is in Error or CarshLoopBackOff kubernetes .但我无法让它发挥作用。

最佳答案

要将警报发送到您的 Gmail 帐户,您需要在文件中设置警报管理器配置,例如 alertmanager.yaml:

cat <<EOF > alertmanager.yml
route:
group_by: [Alertname]
# Send all notifications to me.
receiver: email-me

receivers:
- name: email-me
email_configs:
- to: $GMAIL_ACCOUNT
from: $GMAIL_ACCOUNT
smarthost: smtp.gmail.com:587
auth_username: "$GMAIL_ACCOUNT"
auth_identity: "$GMAIL_ACCOUNT"
auth_password: "$GMAIL_AUTH_TOKEN"
EOF

现在,当您使用 kube-prometheus 时,您将拥有一个名为 alertmanager-main 的 secret 。这是 alertmanager 的默认配置.您需要创建一个 secret alertmanager-main使用以下命令再次使用新配置:
kubectl create secret generic alertmanager-main --from-file=alertmanager.yaml -n monitoring

现在,您已将 alertmanager 设置为在收到来自普罗米修斯的警报时发送电子邮件。

现在您需要设置一个警报,您的邮件将被发送到该警报。您可以设置在任何情况下都会触发的 DeadManSwitch 警报,它用于检查您的警报管道
groups:
- name: meta
rules:
- alert: DeadMansSwitch
expr: vector(1)
labels:
severity: critical
annotations:
description: This is a DeadMansSwitch meant to ensure that the entire Alerting
pipeline is functional.
summary: Alerting DeadMansSwitch

之后 DeadManSwitch警报将被触发,并应将电子邮件发送到您的邮箱。

引用链接:

https://coreos.com/tectonic/docs/latest/tectonic-prometheus-operator/user-guides/configuring-prometheus-alertmanager.html



编辑:

deadmanswitch 警报应该在您的普罗米修斯正在读取的配置映射中。我将在这里分享我的普罗米修斯的相关快照:
"spec": {
"alerting": {
"alertmanagers": [
{
"name": "alertmanager-main",
"namespace": "monitoring",
"port": "web"
}
]
},
"baseImage": "quay.io/prometheus/prometheus",
"replicas": 2,
"resources": {
"requests": {
"memory": "400Mi"
}
},
"ruleSelector": {
"matchLabels": {
"prometheus": "prafull",
"role": "alert-rules"
}
},

上面的配置是我的 prometheus.json 文件,它的名称是 alertmanager 和 ruleSelector这将根据 prometheus 选择规则和 role标签。所以我的规则配置映射如下:
kind: ConfigMap
apiVersion: v1
metadata:
name: prometheus-rules
namespace: monitoring
labels:
role: alert-rules
prometheus: prafull
data:
alert-rules.yaml: |+
groups:
- name: alerting_rules
rules:
- alert: LoadAverage15m
expr: node_load15 >= 0.50
labels:
severity: major
annotations:
summary: "Instance {{ $labels.instance }} - high load average"
description: "{{ $labels.instance }} (measured by {{ $labels.job }}) has high load average ({{ $value }}) over 15 minutes."

更换 DeadManSwitch在上面的配置图中。

关于kubernetes - 如何使用 Prometheus Alert Manager 在 Kubernetes 中触发警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53558057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com