apache knox 的健康检查

health check for apache knox

我想创建一个健康检查机制,以确保我删除了在负载均衡器后面配置的不健康的 Knox 实例。

对底层实例的正常 ping 将有助于检查机器是否可访问。但它无助于确定网关是否 healthy/running 来处理对该实例的传入请求。

我可以通过 LB 向 Knox 发出请求,但它只会转到一个实例,我无法得知。

我想知道有没有办法判断一样的?或者 Knox 本身是否提供了一种机制,通过它我可以对网关服务器进行 http(不安全,因为不允许直接 https 调用实例)调用并确定?

谢谢!!

我不知道您的负载平衡器是如何配置的,但您可以尝试直接 ping knox_host:knox_port,这至少会告诉您 knox 是否已启动并且 运行(并正在监听)。

如果您想知道 Knox 是否健康(特别是您的拓扑),那么您可以尝试定期发出测试请求并查找响应代码 200。

例如

curl -i -u guest:guest-password -X GET \
    'http://<direct-knox>:8443/gateway/sandbox/webhdfs/v1/?op=LISTSTATUS' 

希望对您有所帮助!

我不确定您使用的是哪个负载平衡器。从 "health check" 我假设您正在使用 Elastic Load Balancer。

使用 tcp 协议 创建健康检查。它只会检查这些端口是否打开。如果 knox 不是 运行,那些实例将停止服务,传入的请求将被重定向到正在服务的实例。

PFB 的屏幕截图相同。