gpt4 book ai didi

docker - 弹性心跳响应检查 TCP 错误

转载 作者:可可西里 更新时间:2023-11-01 02:50:25 26 4
gpt4 key购买 nike

我配置了一个简单的 heartbeat 6.1监控:

heartbeat.monitors:
- type: http
schedule: '@every 10s'
urls:
- 'http://service/status'
mode: all
check:
response:
status: 200

哪个有效。 Monitor 配置还支持通过设置键 check.response.body

检查响应的内容
    ...
mode: all
check:
response:
status: 200
body: UP

服务返回 UP(使用 curl 检查),但 heartbeat 检测到服务已关闭,原因如下:

read tcp x.y.z.a:port->b.c.d.e:80: use of closed network connection

服务和心跳都作为 docker 容器运行并共享一个公共(public)网络(显然,否则第一个配置将无法工作)。

错误的原因可能是什么?是服务问题(即过早关闭连接)还是心跳问题?我有另一个服务正在运行(一个简单的 node.js express 应用程序),它没有表现出这种行为(所以这将指向服务问题)。如何排除故障?

编辑

在虚拟 docker 网络上运行 tcpdump/wireshark 显示该服务每十秒正确响应 UP 请求(如心跳配置中所配置)。所以显然所有请求都成功了。为什么elastic heartbeat还在提示关闭连接?

最佳答案

我有同样的问题,但使用 https 检查。似乎这是 Heartbeat 中的一个错误,将在 Heartbeat 版本 6.5.0 中修复。

这是 github 上问题的链接:https://github.com/elastic/beats/issues/8588
拉取请求:https://github.com/elastic/beats/pull/8660

关于docker - 弹性心跳响应检查 TCP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47952070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com