Jumpserver服务经常不可用求助

我使用docker compose部署的,目前有2个问题经常发生

一个是,经常出现组件离线问题,但是我的服务器是4C 24G,资源是很富裕的,上面几乎没跑其他什么服务

终端健康状况检查警告
26 分钟前
[Core]-d41227cb4965
终端已离线: [Core]-d41227cb4965
[Celery]-bcbaaa8a9a5d
终端已离线: [Celery]-bcbaaa8a9a5d
[Core]-cfeffb70b284
终端已离线: [Core]-cfeffb70b284
[Core]-522dcf0ea673
终端已离线: [Core]-522dcf0ea673
[Celery]-adb6dc17d80e
终端已离线: [Celery]-adb6dc17d80e
[Core]-ccf43e6eba4e
终端已离线: [Core]-ccf43e6eba4e
[Core]-18e35c9d7247
终端已离线: [Core]-18e35c9d7247
[Core]-96cc61854c42
终端已离线: [Core]-96cc61854c42
[Core]-147818e7dd86
终端已离线: [Core]-147818e7dd86
[Celery]-96cc61854c42
终端已离线: [Celery]-96cc61854c42
[Celery]-95f7b388a7e8
终端已离线: [Celery]-95f7b388a7e8
[Core]-44af2fa81555
终端已离线: [Core]-44af2fa81555
[Celery]-16093ecce3b9
终端已离线: [Celery]-16093ecce3b9
[Core]-744ba696968b
终端已离线: [Core]-744ba696968b
[Celery]-744ba696968b
终端已离线: [Celery]-744ba696968b
[Celery]-022d0ed86285
终端已离线: [Celery]-022d0ed86285
[Core]-jms
终端已离线: [Core]-jms
[Celery]-b1807e57ad5e
终端已离线: [Celery]-b1807e57ad5e
[Core]-f540ff5601e9
终端已离线: [Core]-f540ff5601e9
[Celery]-jms
终端已离线: [Celery]-jms

第二个问题是,Websocket经常连不上,要反复刷新好多次才能成功

core组件的log文件是正常的可以生成,内容看也是正常工作

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name jump.xxx.com;  # 自行修改成你的域名
    ssl_certificate /root/.acme.sh/*.xxx.com_ecc/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/*.xxx.com_ecc/*.xxx.com.key;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    ssl_protocols TLSv1.1 TLSv1.2;

    client_max_body_size 4096m;  # 录像及文件上传大小限制
    location / {
        proxy_pass http://127.0.0.1:18301;
        proxy_http_version 1.1;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

第一个问题,可以在设置-----组件设置------组件管理中删除离线组件,这部分数据缓存在redis中,可以重启服务使组件恢复正常状况。
第二个问题,需要细节分析下你的部署模式,另外celery组件的负载如果过高也会出现这个问题,还有就是执行任务时默认是用特权账号去执行,所以可以看下作业中心是否有指定特权账号。

感谢解答,我是使用docker compose部署的,这是我的.env

# 版本号可以自己根据项目的版本修改
VERSION=v3.10.6

# 构建参数, 支持 amd64
TARGETARCH=arm64

# Compose
COMPOSE_PROJECT_NAME=jms
# COMPOSE_HTTP_TIMEOUT=3600
# DOCKER_CLIENT_TIMEOUT=3600
DOCKER_SUBNET=172.21.0.0/24
# 持久化存储
VOLUME_DIR=/docker/jumpserver_data

# MySQL
DB_HOST=mysql
DB_PORT=3306
DB_USER=jumpserver
DB_PASSWORD=xxxxxxx
DB_NAME=jumpserver

# Redis
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=xxxxxxx

# Core
SECRET_KEY=xxxxxxx
BOOTSTRAP_TOKEN=xxxxxxx
# DEBUG=FALSE
LOG_LEVEL=ERROR
DOMAINS=jump.xxx.com

# Web
HTTP_PORT=18301
SSH_PORT=22223
MAGNUS_MYSQL_PORT=33061
MAGNUS_MARIADB_PORT=33062
MAGNUS_REDIS_PORT=63790

服务器的资源是肯定富裕的,在docker中我也没有限制资源使用

image

您说的删除离线组件,我不太理解,我现在尝试将没有CPU/内存信息的组件删除,这是我删除之前的截图。

服务端点中的设置,似乎和我的环境变量设置不一致,我现在重新向环境变量对齐,再观察一下

这个组件中我看有很多core和celery。你这边是部署了多个节点共享了key吗?如果是这样可能需要共享存储来看下能否解决这个celery打点的问题。

没有没有,我就这一台节点,我也不知道怎么冒出来的,可能是我重新部署所以残留下来的~~

感谢帮助,暂时观察上午没再出现离线报警了

那可以清空下redis数据然后重启服务,这样组件数量就正常了