HAproxy 求助

求助,为啥HAproxy里面的 jms-web 和 jms-magnus 是红色呢

检查一下HAproxy的配置文件
查看一下HAproxy的日志
去掉这个参数试试 option httpchk GET /api/health/

师傅您好,我在配置文件里面删除了 option httpchk GET /api/health/
发现 jms-web 已经绿色了,但是 jms-magnus 还是红色,然后我尝试删除对应的 option tcp-check,并没有效果

这是我的 jms-magnus 配置

listen jms-magnus
bind *:30000
mode tcp

option tcp-check

fullconn 500
balance source
server 10.64.113.111 10.64.113.111:30000 weight 1 check inter 2s rise 2 fall 3 send-proxy
server 10.64.113.112 10.64.113.112:30000 weight 1 check inter 2s rise 2 fall 3 send-proxy

option httpchk GET /api/health/ 这个参数是用来检查CORE的存活接口
你需要提供一下haproxy的日志

如果不删除option httpchk GET /api/health/ 的话
image
显示 no server

jumpserver节点中查询不到 jms-magnus 中配置的30000端口,然后80端口web页面是没问题的
image

jumpserver 节点中 docker ps 显示如下:

访问节点的 /API/health 路径显示如下

网络端口说明 - JumpServer 文档
你可以查看一下端口说明,看看magnus 需要哪个端口再去haproxy里配置

你可以在web的server那一行末加入option httpchk GET /api/health/这个看看能不能启动

师傅,我如果删除 option httpchk GET /api/health,在haproxy的监控页面显示是没问题的

对于 magnus ,如下端口中:


在我的jumpserver节点中是开启了 33061、33062、63790
而对于 54320 和 30000-30100 我发现在 jumpserver 节点中是并没有开启的,我应该如何在magnus 中配置呢

目前,我的haproxy里面magnus的配置如下:

我应该将 server 10.64.113.111 10.64.113.111:30000 weight 1 check inter 2s rise 2 fall 3 send-proxy 改为:
server 10.64.113.111 10.64.113.111:33061 weight 1 check inter 2s rise 2 fall 3 send-proxy 吗,对于多个开放的端口我应该都添加上吗

如果你需要使用mysql和redis

server 10.64.113.111 10.64.113.111:33061 weight 1 check inter 2s rise 2 fall 3 send-proxy
server 10.64.113.111 10.64.113.111:63790 weight 1 check inter 2s rise 2 fall 3 send-proxy

试试这样行不行,同一个ip不同端口的配置

这样配置好后:


显示如下,没有报错了,是否可以正常负载均衡呢,另外我必须要删除 core 检测的 option httpchk GET /api/health/ 才可以让 jms-web 显示正常,删除后是否有影响呢 ??

你可以在jms-web的每一个server行末尝试添加option httpchk GET /api/health/ 看看是否生效


这样语法格式好像是不行的,直接haproxy监控页面都访问不了

另外去掉option httpchk GET /api/health/后,虽然监控这边看起来是正常,但是 jms-web的 lastchk 好像一直是 0,这样是正常的吗,鼠标移动过去后显示的是 Layer4 check passed


改成这样后,好像是可以了,显示如下,请问这样是否有问题呢:

没什么问题 这个请求发送到 /api/health/ 路径,并且使用HTTP/1.1协议,指定了host

好的,非常感谢师傅的帮助

客气了。