问题标签 [prometheus-alertmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
269 浏览

docker - 通知 Docker 容器重启的 Alert Manager 警报规则是什么?

我正在尝试添加一个警报规则,允许警报管理器在特定 docker 容器重新启动时通知我。有这样的规定吗?任何帮助将不胜感激!

0 投票
1 回答
1941 浏览

prometheus - Prometheus alertmanager 自定义接收器

我目前正在尝试设置 Prometheus 和 Alertmanager,我遇到的问题尚未找到解决方案,我希望通过 oauth2 授权将警报发送到我们的自定义应用程序。

有什么方法可以构建/配置自己的接收器吗?

假设必须将警报发送到 url https://reciever.com/pm-alert/

0 投票
1 回答
12187 浏览

kubernetes - 从 Kube State Metrics 中提取指标时如何在 Prometheus 中获取 pod 的标签

我有一个 Prometheus pod 和我的 Kube-State-Metrics (KSM) pod 一起运行。KSM 收集集群中所有命名空间的所有 Pod 的所有指标。Prometheus 只是从 KSM 中抓取指标——这样 Prometheus 就不需要抓取单个 pod。

部署 pod 时,它们的部署具有某些与 pod 相关的标签,如下所示。他们有两个重要的标签:APPTEAM

 

在 Prometheus 中,我的抓取配置如下所示:

 

问题是,当 Prometheus 从 kube-state-metrics 中抓取信息时,它会覆盖APPwith kube-state-metrics。例如,下面的这个指标实际上是针对名为“AppABC”的应用程序,但 Prometheus 将app标签覆盖为kube-state-metrics.

无论如何,我是否可以从 kube-state-metrics 中抓取指标,但将APPTEAM标签保持在一起而不覆盖它们?

 

编辑 - 我想通了

我的问题:我的部署和 Pod 定义了某些标签(APP、TEAM)。Kube-state-metrics 从 K8 API 获取这些。当 Prometheus 从 kube-state-metrics 中抓取时,它没有这些标签。

我的目标:将这些标签暴露给 Prometheus。

我的解决方案:使用 PromQL 您可以进行分组。所以在我的 prometheus-rules.yaml 中,我改变了这个:

对此:

所以我的新警报规则如下所示:

0 投票
1 回答
289 浏览

prometheus - 触发多个时收到的警报中未指定警报触发节点名称

我已经在 prometheus 中配置了节点内存使用警报。我的警报模板如下:

当单个节点的阈值超过时(此处的节点名称为nodes-3z4c),我收到警报中的节点名称,如下所示:

但问题是,当多个节点超过阈值时,多个节点的名称没有在警报通知中指定并得到如下通知:

有人可以帮我解决这个问题吗?

0 投票
1 回答
6382 浏览

prometheus - 如何在 Alertmanager 中向一个接收组发送多个警报?

我在这里查看了这个问题/答案:Prometheus AlertManager - Send Alerts to different clients based on routes

这对我来说是一个很好的开始,我希望我可以向那里的回答者提出一个快速的问题,但我没有代表。

无论如何,我有一个包含两组的alert.rules.yml文件,如下所示:

除此之外,我还有一个alertmanager.yml文件,看起来像

因此,根据我收集的信息,我可以通过从警报规则文件中指定警报名称并将其路由到特定接收器,将警报路由到特定接收器组。

我真正遇到的一个大问题是:有没有办法根据组名将警报路由到特定的接收者,而不是警报规则文件中的警报名称

所以而不是

是否有某种方式来实现:

我一直在互联网上搜索类似这样的例子,但我找不到任何东西。谢谢。

0 投票
1 回答
1879 浏览

docker - 来自 Grafana 的电子邮件警报在 docker 容器内不起作用

我在 docker-compose 文件中有 prometheus 和 Grafana。我可以在 grafana 中可视化所有 docker 容器指标和主机指标。但是电子邮件警报不起作用。我已经在 Grafana 的 defaults.ini 中配置了 smtp 配置。

以下是我使用测试警报向我的公司邮件 ID 提醒错误时遇到的错误。SMTP 服务器是一个内部服务器,因此它可以在公司内部发送电子邮件。

2018-11-02T09:08:11+0000 lvl=eror msg="发送通知失败" logger=alerting.notifier id=1 error="gomail: 无法发送电子邮件 1: 读取 tcp 172.20.0.8:42386-> 10.5.10.160:25:I/O 超时”

你能告诉我为什么我的 grafana 容器不能发送电子邮件吗?我还尝试了 prometheus alertmanager 来发送邮件。它也不起作用。

0 投票
1 回答
5382 浏览

prometheus - 普罗米修斯缺席函数

我想检查某个指标是否在 5 分钟内在普罗米修斯中不可用。

我正在使用缺席(K_KA_GCPP)并给出 5 分钟的阈值。但似乎我无法在某些标签(如站点 ID)上对缺少的功能进行分组。

如果指标不适用于所有 4 个站点 ID,则 Absent 有效。我想了解所有 4 个站点 ID 中的 1 个站点 ID 的指标是否不可用或不存在,并且我不想在查询中对站点 ID 标签进行硬编码,它应该是通用的。有什么办法可以做到吗?

0 投票
0 回答
522 浏览

kubernetes - Prometheus 警报规则:将表达式中的指标与标签中的值进行比较

我试图弄清楚这是否可以通过 Prometheus 实现:

我在部署上有一个标签,它指定了一个值:

在 Prometheus 中,我是否可以创建一个规则,其中表达式将指标与该值进行比较?

例如

这个想法是为不同的应用程序定义某些阈值,并动态地将指标(延迟、部署数量等)与相应标签中设置的这些阈值进行比较。

0 投票
0 回答
1219 浏览

slack - Alertmanager prometheus,发送到无效的松弛通道

我们有一个多租户 Kubernetes 集群,并使用 Prometheus Alertmanager 通过 slack 向这些租户发送警报。

所以我们的配置包括:

(%.11s 确保频道名称保持在 21 个字符的限制内)

如果存在松弛通道,则此方法非常有用,但如果通道不存在,则警报最终会出现在以太网中(不利于警报!)。

Alertmanager 日志告诉您的内容非常有限,例如,这是一个没有用户数据的通用错误:

尝试了各种选项,检查了 StackOverflow,但似乎所有示例都有简单的固定名称用于松弛通道

0 投票
3 回答
54627 浏览

prometheus - 普罗米修斯上的多个目标

我已经在 Centos 上配置了 prometheus,版本详情如下。

我在 prometheus.yml 配置文件中添加了两个目标,所有服务器节点导出器都在运行。配置如下,

但是在普罗米修斯 UI Tragets 中只显示单个节点,其他没有显示。如果我删除一个节点,则显示现有节点。如何监控多个节点。但在 Grafana Dashboard 中显示Multiple Series Error