【问题标题】:How to config email alert in using grafana and prometheus-operator如何在使用 grafana 和 prometheus-operator 时配置电子邮件警报
【发布时间】:2020-04-21 05:11:17
【问题描述】:

我通过 helm 安装了 prometheus-operator(包括 prometheus/alertmanager/grafana)。然后我通过电子邮件访问 Grafana UI 和配置警报。当我点击发送电子邮件测试时,我收到消息“SMTP 未配置,请检查您的 grafana.ini 配置文件的 [smtp] 部分”

但我不知道在这种情况下 grafana.ini 可以更改到哪里。

[root@k8s-master ~]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                                      READY   STATUS    RESTARTS   AGE
kube-system   calico-kube-controllers-5bbc8f45cb-nlqgh                  1/1     Running   1          15h
kube-system   calico-node-lk2j5                                         1/1     Running   1          15h
kube-system   calico-node-v6wzs                                         1/1     Running   1          15h
kube-system   calico-node-zfh5r                                         1/1     Running   1          15h
kube-system   coredns-5c98db65d4-79c2g                                  1/1     Running   1          15h
kube-system   coredns-5c98db65d4-bqj7g                                  1/1     Running   1          15h
kube-system   etcd-k8s-master                                           1/1     Running   1          15h
kube-system   kube-apiserver-k8s-master                                 1/1     Running   1          15h
kube-system   kube-controller-manager-k8s-master                        1/1     Running   2          15h
kube-system   kube-proxy-8qmdt                                          1/1     Running   1          15h
kube-system   kube-proxy-qwgbc                                          1/1     Running   1          15h
kube-system   kube-proxy-vhqjd                                          1/1     Running   1          15h
kube-system   kube-scheduler-k8s-master                                 1/1     Running   1          15h
monitoring    alertmanager-prometheus-operator-alertmanager-0           2/2     Running   3          15h
monitoring    prometheus-operator-grafana-64848fc9bb-dbnwc              2/2     Running   3          15h
monitoring    prometheus-operator-kube-state-metrics-5d46566c59-ck4np   1/1     Running   2          15h
monitoring    prometheus-operator-operator-64dcc7bfc-lpdj6              2/2     Running   2          15h
monitoring    prometheus-operator-prometheus-node-exporter-ns4kg        1/1     Running   1          15h
monitoring    prometheus-operator-prometheus-node-exporter-tdhwq        1/1     Running   2          15h
monitoring    prometheus-operator-prometheus-node-exporter-xt8z9        1/1     Running   2          15h
monitoring    prometheus-prometheus-operator-prometheus-0               3/3     Running   4          15h

【问题讨论】:

    标签: grafana prometheus-alertmanager prometheus-operator


    【解决方案1】:

    感谢alertmanager.config 键,您将能够使用 helm 变量覆盖此配置。 此键将 yaml 转换为 alertmanager 的配置,因此您可以使用每个 alertmanager configuration。 您可能还应该将grafana.ini 配置更改为configure smtp 到grafana(测试似乎使用该配置)。您可以通过“服务器管理员”>“设置”在 Grafana 中检查此配置,搜索“smtp”。

    作为参考,您可以对 alertmanager 执行以下操作:

        helm upgrade --install prometheus stable/prometheus-operator \
    -f helm/prometheus-operator.yml \
    -f helm/grafana-custom.staging.yml \
    --set-string alertmanager.config.global.smtp_smarthost="my.smtp.tld:465" \
    --set-string alertmanager.config.global.smtp_auth_username="my@email.tld" \
    --set-string alertmanager.config.global.smtp_from="my@email.tld" \
    --set-string alertmanager.config.global.smtp_auth_password="MyAmazingPassword" \
    --set-string grafana.'grafana\.ini'.smtp.enabled=true \
    --set-string grafana.'grafana\.ini'.smtp.host="my.smtp.tld:465" \
    --set-string grafana.'grafana\.ini'.smtp.from_address="my@email.tld" \
    --set-string grafana.'grafana\.ini'.smtp.user="my@email.tld" \
    --set-string grafana.'grafana\.ini'.smtp.password="MyAmazingPassword"
    

    【讨论】:

      【解决方案2】:

      grafana.ini 是通过 prometheus-operator helm 部署中的 configmaps 加载的。如果您已经通过 helm 安装了它,那么您只需修改 configmap,然后重新启动 grafana pod。以下是我能够使用 SMTP 的最低配置。

      [smtp]
      enabled = true
      host = your.smtp.server.name:25
      skip_verify = true
      from_address = "grafana@xyz.com"
      from_name = Grafana
      

      要获取 configmap,请运行以下命令并编辑 configmap(如果 prometheus-operator 部署在非默认命名空间中,则在下面的命令中包含命名空间)。

      kubectl get configmap | grep grafana
      

      修改configmap后,重启grafana pod(不需要重启其他pod)。

      注意:不推荐 Skip_verify = true。

      【讨论】:

        猜你喜欢
        • 2019-06-21
        • 2019-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-14
        • 2017-09-14
        • 1970-01-01
        相关资源
        最近更新 更多