如何为 microk8s grafana 设置 SMTP(prometheus 插件)

Posted

技术标签:

【中文标题】如何为 microk8s grafana 设置 SMTP(prometheus 插件)【英文标题】:How to set SMTP for microk8s grafana (prometheus addon) 【发布时间】:2022-01-02 05:04:26 【问题描述】:

要在 Grafana 中通过电子邮件发送警报,我们必须在 grafana.ini 中设置 SMTP 设置。

在 Ubuntu 上,我们可以通过命令轻松运行 grafana-prometheus-k8s 堆栈 microk8s enable prometheus 但是,我们如何将 grafana.ini 提供给在 k8s pod 中运行的 grafana?

【问题讨论】:

【参考方案1】:

我们可以通过 volumeMounts 修改 grafana k8s 部署清单,以将我们主机上的 grafana.ini 提供给在 pod 中运行的 grafana。

首先,使用 SMTP 设置准备您的 grafana.ini。例如

[smtp]
enabled = true
host = smtp.gmail.com:465
# Please change user and password to your ones.
user = foo@bar.com
password = your-password

然后,您可以将此文件放在您的主机上。例如。 /home/mydir/grafana.ini

修改加载的grafana k8s部署清单:

kubectl edit deployments.apps -n monitoring grafana

volumeMounts添加一个新的挂载(不是kubectl.kubernetes.io/last-applied-configuration中的那个):

        volumeMounts:
        - mountPath: /etc/grafana/grafana.ini
          name: mydir
          subPath: grafana.ini

将新的 hostPath 添加到 volumes

      volumes:
      - hostPath:
          path: /home/mydir
          type: ""
        name: mydir

最后,重启部​​署:

kubectl rollout restart -n monitoring deployment grafana

运行此命令并使用主机上的网络浏览器导航到 http://localhost:8080 到 grafana 网络应用程序:

kubectl port-forward -n monitoring svc/grafana 8080:3000

然后,您可以导航到 Alerting / Notification channels / Add channel 以添加电子邮件通知通道并进行测试!

【讨论】:

以上是关于如何为 microk8s grafana 设置 SMTP(prometheus 插件)的主要内容,如果未能解决你的问题,请参考以下文章