如何为 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 插件)的主要内容,如果未能解决你的问题,请参考以下文章
如何为多个 Prometheus 数据源配置 Grafana 仪表板?
是否可以将 microk8s 设置为使用 docker 引擎而不是 containerd?