监控 kubernetes pod 健康事件
Monitoring kubernetes pod health events
目前我已经安装了 kubernetes,包括 kube-state-metrics、prometheus 和 loki。对于大多数事情来说,这工作得很好,但我正在努力解决的一件事是找到容器可能重新启动的确切原因。
对于运行pods,很容易看出,即kubectl describe pod
,例如,我得到以下事件:
kubectl describe pod pod-name
.....
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning Unhealthy 19m (x9 over 3h29m) kubelet message-here
这对于解决容器多次重启的确切原因非常有用,尤其是在使用探测器时。但还有其他有用的事件。
但是我看不出有什么方法可以在 loki 或 prometheus 中保存此类事件。但也许我错过了什么。我原以为 kube-state-metrics
会包含此类信息,但似乎并非如此,我在 Loki 的任何地方也没有看到它。
关于如何保存此类事件的任何提示?
虽然 Prometheus 和 KSM 更侧重于指标,例如:'N number of pod restarts',但 Loki 可用于捕获事件。
一个很好的概述指南是 here which uses eventrouter 将事件推送到后端(例如 Loki 或 Elasticsearch)
目前我已经安装了 kubernetes,包括 kube-state-metrics、prometheus 和 loki。对于大多数事情来说,这工作得很好,但我正在努力解决的一件事是找到容器可能重新启动的确切原因。
对于运行pods,很容易看出,即kubectl describe pod
,例如,我得到以下事件:
kubectl describe pod pod-name
.....
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning Unhealthy 19m (x9 over 3h29m) kubelet message-here
这对于解决容器多次重启的确切原因非常有用,尤其是在使用探测器时。但还有其他有用的事件。
但是我看不出有什么方法可以在 loki 或 prometheus 中保存此类事件。但也许我错过了什么。我原以为 kube-state-metrics
会包含此类信息,但似乎并非如此,我在 Loki 的任何地方也没有看到它。
关于如何保存此类事件的任何提示?
虽然 Prometheus 和 KSM 更侧重于指标,例如:'N number of pod restarts',但 Loki 可用于捕获事件。
一个很好的概述指南是 here which uses eventrouter 将事件推送到后端(例如 Loki 或 Elasticsearch)