聚合Kubernetes活性探针响应
我的应用程序有一个聚合Kubernetes活性探针响应,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我的应用程序有一个/healthHttp端点,为Kubernetes liveness check probe配置。API返回一个json,其中包含运行状况指示器 Kubernetes只关心返回的http状态,但我想将json响应存储在Prometheus中,以便于监控 一旦Kubernetes调用API,是否可以捕获响应?我不想将该功能添加到应用程序本身,而是使用外部组件 推荐的方法是什么?回答您的问题: 制作一个侧车,每隔N秒调用localhost:port/health,并存储最近的回复N
/health
Http端点,为Kubernetes liveness check probe配置。API返回一个json,其中包含运行状况指示器
Kubernetes只关心返回的http状态,但我想将json响应存储在Prometheus中,以便于监控
一旦Kubernetes调用API,是否可以捕获响应?我不想将该功能添加到应用程序本身,而是使用外部组件
推荐的方法是什么?回答您的问题:
N
秒调用localhost:port/health
,并存储最近的回复N
应等于普罗米修斯刮削间隔,以获得准确的结果
/metrics
端点中公开最新的回复。你可以用它来实现侧车。普罗米修斯出口商侧车实际上是一个广泛使用的模式,尝试寻找它
/metrics
端点,该端点现在由一个单独端口上的侧车提供服务。在服务
对象中需要一个单独的端口,以指向您的侧车端口。在此阶段可以调整刮片间隔,使其与N
同步,否则,只需调整N
。有关刮除配置的详细信息,请参阅:
如果您需要一个自动普罗米修斯目标发现,假设您有一系列这样的部署,它们的数量各不相同-请参阅我最近的回答:
/health
谢谢,这些都是非常好的建议,但是,我想避免调用API超过需要。由于Kubernetes也调用了API,我想捕捉这个事件——不确定这是否可行,也不确定Kubernetes是否以任何方式支持我认为这个答案仍然是实际的:小心提高Kubernet的日志级别,因为它将应用于集群上运行的所有内容,而不仅仅是这个应用程序——日志数量可能会非常巨大。流行的日志采集器通常直接收集kubelet日志,请参阅(
systemdUnit
variable)