kubernetes - Prometheus 如何知道 Pod 何时崩溃?

标签 kubernetes prometheus kubernetes-pod prometheus-alertmanager

据我所知,我们可以使用 Prometheus 设置警报规则,该规则可以检测 Pod 崩溃并发出警报。

我想了解 Prometheus 本身如何知道 pod 何时崩溃或卡在挂起状态。

  • 它在尝试从 pod 的 http 端点端口抓取指标时是否知道这一点?

  • Prometheus 是否从 Kubernetes 获取 pod 状态信息?

我问这个问题的原因是因为我想设置 Prometheus 来监控我已经部署的现有 pod。如果 pod 不断崩溃或卡在挂起状态,我想收到警报。我想知道 Prometheus 是否可以在不对现有 pod 内的代码进行任何修改的情况下检测到这些警报。

最佳答案

普罗米修斯提取指标和健康状况的常用方法是使用抓取(最常见的是通过 http 端点)。由于 Pod 可以有多个容器,因此最好抓取正在运行的容器的 http 端点。

如果 prometheus 没有从这个端点收到良好的响应,它可以确定容器已关闭。

Prometheus 本身不做警报,您通常将其委托(delegate)给警报管理器。

关于kubernetes - Prometheus 如何知道 Pod 何时崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51410229/

相关文章:

ssl - 在 GCE/GKE 上启用 HTTPS

Prometheus 区别 jvm_gc_collection_seconds_sum 和 jvm_gc_pause_seconds

kubernetes - 如何查询kubernetes节点可用的总内存

kubernetes - 如何在多个节点之间分配相等的部署

kubernetes - 在我的情况下,为什么pod状态会以crashloopbackoff的形式出现?

kubernetes - Kubernetes Pod在失败时执行一些操作

kubernetes - kubernetes secret 管理

namespaces - kubernetes - 动态更改 RC 的命名空间

kubernetes - 如何使用 consul 在 kubernetes 中公开应用程序

grails - 如何让 prometheus 导出器在我的 grails 应用程序中运行?