如何在使用 grafana 和 prometheus-operator 时配置电子邮件警报

     2023-02-15     66

关键词:

【中文标题】如何在使用 grafana 和 prometheus-operator 时配置电子邮件警报【英文标题】:How to config email alert in using grafana and 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

【问题讨论】:

【参考方案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。

【讨论】:

如何使用 Grafana 监控 JDBC 调用和统计信息

】如何使用Grafana监控JDBC调用和统计信息【英文标题】:HowtomonitorJDBCcallsandstatisticswithGrafana【发布时间】:2019-01-0912:53:24【问题描述】:如何使用Grafana/Prometheus监控我的SpringBoot应用程序的JDBC调用(Oracle/MySql/PostgreSQL等)统计信息... 查看详情

如何在 grafana 中的 JMeter 线程组之间进行选择?

】如何在grafana中的JMeter线程组之间进行选择?【英文标题】:HowtochoosebetweenJMeterThreadGroupsingrafana?【发布时间】:2021-12-1400:05:42【问题描述】:我有一个包含几个线程组的脚本,我想选择要查看的指标。我正在使用InfluxDB、Grafana... 查看详情

您如何使用托管在 AWS 上的 grafana 监控您的响应时间

】您如何使用托管在AWS上的grafana监控您的响应时间【英文标题】:howdoyoumonitoryourresponsetimesusinggrafanawhicharehostedonAWS【发布时间】:2021-04-2006:18:10【问题描述】:我在AWS上托管了几个API,我们有负载均衡器,流量根据侦听器规则... 查看详情

如何在 Grafana 中查找内存使用差异

】如何在Grafana中查找内存使用差异【英文标题】:HowtofindmemoryusagedifferenceinGrafana【发布时间】:2021-02-0909:50:42【问题描述】:我在grafana的图形面板中工作,并使用弹性搜索作为数据源。在数据源中,我使用了带有时间戳的内存... 查看详情

grafana基础配置和使用

1.使用基础引导:https://grafana.com/tutorials/grafana-fundamentals/?utm_source=grafana_gettingstarted  包含了,对Grafana的介绍,创建一个样例,如何登陆,如何配置数据源等等2.ES Kibana创建管理索引:https://www.cnblogs.com/c1024/p/11012040.htm 查看详情

如何使用 Prometheus 和 Grafana 监控 Fastify 应用程序?

】如何使用Prometheus和Grafana监控Fastify应用程序?【英文标题】:HowtomonitorFastifyappwithPrometheusandGrafana?【发布时间】:2020-07-0301:18:09【问题描述】:我正在学习使用Prometheus和Grafana监控我的Fastify应用程序。首先,我安装了fastify-metri... 查看详情

如何使用 grafana singlestat 和 prometheus 计算正常运行时间百分比

】如何使用grafanasinglestat和prometheus计算正常运行时间百分比【英文标题】:Howtocalculateuptimepercentageusinggrafanasinglestatandprometheus【发布时间】:2020-09-1116:42:09【问题描述】:目前我正在使用以下查询计算正常运行时间百分比。但是... 查看详情

如何使用 cpu-memory 使用指标可视化 grafana 上的结果?

】如何使用cpu-memory使用指标可视化grafana上的结果?【英文标题】:Howtovisualisetheresultsongrafanawithcpu-memoryusagemetrics?【发布时间】:2021-09-2514:08:39【问题描述】:如何在grafana上绘制prometheus的cpu和内存利用率图表?我需要根据上述... 查看详情

如何在 Grafana 查询字符串中使用请求参数值

】如何在Grafana查询字符串中使用请求参数值【英文标题】:HowtouserequestparametervalueinGrafanaquerystring【发布时间】:2018-06-1822:15:06【问题描述】:我正在使用Grafana,我的URL字符串如下:http://servername:3000/dashboard/db/dashboard?refresh=10s&am... 查看详情

如何使用 SpringBoot 2、InfluxDB 和 Grafana 理解微米指标?

】如何使用SpringBoot2、InfluxDB和Grafana理解微米指标?【英文标题】:HowtomakesenseofthemicrometermetricsusingSpringBoot2,InfluxDBandGrafana?【发布时间】:2021-09-1704:40:33【问题描述】:我正在尝试配置SpringBoot应用程序以将指标导出到InfluxDB以使... 查看详情

Grafana + Prometheus 如何在查询指标中使用正则表达式?

】Grafana+Prometheus如何在查询指标中使用正则表达式?【英文标题】:Grafana+Prometheushowtouseregexinquerymetrics?【发布时间】:2020-06-1516:24:15【问题描述】:我们正在动态添加新指标。是否可以在Grafana查询指标中使用正则表达式?applica... 查看详情

如何将 Reactjs 日志和指标推送到 Grafana

】如何将Reactjs日志和指标推送到Grafana【英文标题】:HowtopushReactjslogsandmetricstoGrafana【发布时间】:2020-11-1903:22:22【问题描述】:背景:我正在做一个项目,我们在Java中设置了一个服务器,而前端我们使用的是ReactJs。我们的服... 查看详情

idou老师教你学istio26:如何使用grafana进行可视化监控

使用Grafana插件进行监控是Istio提供的监控能力之一。Istio提供丰富的监控能力,Grafana插件在Istio对Prometheus支持的基础上,为用户提供基于网页仪表面板的可视化监控效果,使用户更加直观地查看到实时通信状况。在前面“如何使... 查看详情

如何在 Grafana 的 MySQL 查询中使用 like?

】如何在Grafana的MySQL查询中使用like?【英文标题】:HowtouselikeinMySQLqueryinGrafana?【发布时间】:2020-12-1013:17:59【问题描述】:我正在使用MySQL的grafana工作。我有一个模板变量,它有多个值,我想使用“like”关键字将该模板变量与... 查看详情

如何在 Docker 中使用 Grafana 的自定义 ini 文件?

】如何在Docker中使用Grafana的自定义ini文件?【英文标题】:HowtousecustominifileforGrafanawithDocker?【发布时间】:2021-06-2900:25:33【问题描述】:我的docker-compose文件中有这个容器:grafana:image:grafana/grafanaports:-\'3000:3000\'environment:-GF_PATHS_C... 查看详情

grafana 面板间通信

】grafana面板间通信【英文标题】:grafanainter-panelcommunication【发布时间】:2019-09-0719:46:48【问题描述】:我已经开始了解Grafana自定义面板和应用程序,但一直无法找到有关如何在同一应用程序中控制或在自定义面板之间传递信息... 查看详情

如何过滤具有大于和小于运算符的grafana仪表板?

】如何过滤具有大于和小于运算符的grafana仪表板?【英文标题】:Howtofiltergrafanadashboardwithgreaterthanandlessthanoperators?【发布时间】:2019-11-0101:23:36【问题描述】:我正在做一个使用Grafana和InfluxdB的项目。我能够获得grafana所需的所... 查看详情

Grafana中如何使用Prometheus数据源监控elasticsearch

】Grafana中如何使用Prometheus数据源监控elasticsearch【英文标题】:HowtomonitorelasticsearchwithPrometheusdatasourceinGrafana【发布时间】:2018-03-2110:47:56【问题描述】:我是Prometheus和Grafana的初学者。我在Grafana中创建了新的仪表板,以使用Prome... 查看详情