当 GKE 工作负载出现问题时,在 Stackdriver 中创建事件和通知

Lau*_*res 5 monitoring google-kubernetes-engine stackdriver

我有一个 gke 集群,其中一些工作负载可能会出现启动问题。当工作负载遇到问题时是否可以创建 stackdriver 通知。

例如:当 CrashLoopBackOff 被触发、Pod 不可调度或工作负载状态在 5 分钟内处于非正常状态时,创建一个事件。

Woj*_*k_B 7

您可以使用基于日志的指标来跟踪 pod 中的所有 CrashLoopBackOff 状态,使用以下高级查询:

https://cloud.google.com/logging/docs/view/advanced-queries

resource.type="k8s_pod"
resource.labels.location="us-central1-a"
resource.labels.cluster_name="standard-cluster-1"
"myproject"
jsonPayload.message="Back-off restarting failed container"
resource.labels.pod_name:"myproject"
Run Code Online (Sandbox Code Playgroud)

不可调度的 Pod 可能会进入crashloopbackoff或未部署,这只能在 API 服务器上追踪。

我们需要考虑到,要制作基于日志的指标,有必要根据监控版本(无论您有旧版还是非旧版)调整标签 - 本示例中使用“非旧版”监控和指标

通过基于日志的指标创建指标,您将在“监控”中找到它们:logging/user/xxxx

https://cloud.google.com/logging/docs/logs-based-metrics/

创建指标后,您可以创建警报策略以在问题发生时通知您。