kubernetes - 监控 Google Cloud 中的 Kubernetes Pod

标签 kubernetes google-kubernetes-engine monitoring

我们在 GKE 上部署了一个应用程序,共有 10 个 Pod 运行并为该应用程序提供服务。 我正在尝试查找指标,以便在 Pod 出现故障时创建警报,或者是否有方法检查 Pod 的状态,以便我可以根据该条件设置警报?

我探索了 GCP 并查看了他们的文档,但没有找到任何内容。我能找到的是下面的一个指标,但我不知道它衡量的是什么。 在我看来,Kubernetes 似乎多次认为 pod 已死亡并重新启动 pod。

Metric: kubernetes.io/container/restart_count
Resource type: k8s_container

对此的任何建议都将受到高度赞赏,因为我们可以根据此指标改进我们的监控

GCP alerting policy creation

最佳答案

该指标与您所说的相同,它是 POD 重新启动的计数。

Number of times the container has restarted. Sampled every 60 seconds. After sampling, data is not visible for up to 120 seconds.

了解更多信息:https://cloud.google.com/monitoring/api/metrics_kubernetes

或者

您可以使用 Prometheus 获取指标并使用 Grafana 进行监控

sum(kube_pod_container_status_restarts_total{cluster="$cluster",namespace="$namespace",pod=~"$service.*"})

这将给出 POD 重新启动计数的值。

您还可以使用BotKub:https://www.botkube.io/installation/

您可以设置在您的就绪状态无法松弛通知等时发出通知。

或者

您编写自己的脚本并在 Kubernetes 上运行它,以监视并通知集群中任何 POD 何时重新启动。

示例 github:https://github.com/harsh4870/Slack-Post-On-POD-Ready-State

此脚本会在部署后 POD 准备就绪时在 slack 中发出通知,您可以更改它以监视重新启动计数。

我建议使用 Prometheus、Grafana 选项,但是,stackdriver 很好,但我不是 Google 员工。

关于kubernetes - 监控 Google Cloud 中的 Kubernetes Pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70671476/

相关文章:

java - IBM Websphere MQ 监控

kubernetes - Kubernetes:如何在不更改外部IP地址的情况下更新 namespace ?

kubernetes - pod定义中重复的env变量名称,确定最终值的优先规则是什么?

Kubernetes 每个节点一个 pod,每个 pod 一个持久卷

kubernetes - k8s : error converting YAML to JSON: yaml: line 33: found character that cannot start any token

google-kubernetes-engine - 我可以使用 Google Cloud Monitoring 来监控失败的容器/Pod 吗?

kubernetes - 如何增加Kubernetes中已部署集群的存储容量?

kubernetes - Minikube中的默认CNI

javascript - 从 Google Cloud Monitoring API 打印机器类型

linux - 10gen 彩信监控服务重启后启动