Haproxy健康检查端口

时间:2016-07-08 16:39:45

标签: haproxy

我正在尝试思考haproxy运行状况检查在与常规流量不同的端口上发生的优缺点。

如果服务器过载,在另一个端口上进行运行状况检查可能会标记服务器即使在过载时也已启动。我认为这是一件好事,因为让服务器脱机可能会使重载问题变得更糟,但是想要确认这是有道理的。我似乎无法在权衡中找到任何好的文档,并且想知道是否有人对权衡进行了很好的分析。

1 个答案:

答案 0 :(得分:1)

port关键字通常与address一起用于将健康检查发送到除您正在检查的服务之外的其他位置。一个示例可能是启用option httpchk来监视非HTTP服务。您接下来要做的是拥有一个HTTP兼容的服务,查询时可以对您实际测试的服务执行复杂的运行状况检查。

以上通常使用agent-check现在完成,但有些人更喜欢使用HTTP接口。

这也与服务器负载无关,唯一的想法是将健康检查发送到其他服务,而不是直接监控的服务,这更能够测试实际服务(可能使用更复杂的逻辑) )并返回结果。例如,可以有一个MySQL后端而不是仅仅通过option mysql-check进行身份验证测试,可以通过PHP脚本进行测试,例如,检查备份是否正在运行以及是否返回5xx HTTP错误。配置可能类似于:

backend mysql
    mode tcp
    option httpchk GET /mysql-status.php
    server mysqlserver 10.0.0.1:3306 check port 80