WebSocket服务

云帮平台中的实时日志,性能监控、web console等实时显示的功能都是通过WebSocket服务(管理节点的 goodrain_mpush 和 docker-console服务)推送到浏览器展现出来的,自动化安装程序和虚拟机镜像已经安装了该服务,由于WebSocket需要单独的开放端口,尤其是公网安装云帮时需要将WebSocket的端口对外开放,因此需要根据用户的实际网络情况配置服务地址。

云帮平台有2个WebSocket服务
| 服务名| 功能说明 | 端口|
|--------|-------|--------|
| 实时消息|应用实时日志,性能分析排行功能| 6060|
| 交互消息|通过web浏览器进入到容器|8188|

说明:最新版本已经支持不同网络情况下WebSocket正常使用。


以下内容仅供熟悉云帮webscoket配置

一、实时消息的WebSocket地址

1.docker-compose.yaml端口映射配置

编辑管理节点 /etc/goodrain/docker-compose.yaml 文件,找到mpush段落, 在ports后添加一行

ports:
    - "<privite_ip>:6060:6060"
    - "<public_ip>:6060:6060"

说明
如果您的机器只有内网地址,可以不用添加 <public_ip>:6060:6060

重建容器

dc-compose up -d

2. 更改云帮web配置文件

编辑/etc/goodrain/console.py 文件,找到WEBSOCKET_URL, 更改为云帮的内网或者外网IP

WEBSOCKET_URL = {
    'cloudbang': 'ws://192.168.1.200:6060/websocket',
}

重启console容器

dc-compose restart console

二、更改交互消息WebSocket地址

  • 修改console 配置文件
    编辑/etc/goodrain/console.py 文件,找到DOCKER_WSS_URL, 更改为云帮的内网或者外网IP
DOCKER_WSS_URL = {
    'is_wide_domain': True,
    'type': 'ws',
    'cloudbang':'192.168.1.200:8188',
}

这里写的是内网IP,如果云帮是安装在远程,通过公网连接,一定要写外网IP地址。

重启console容器

dc-compose restart console
  • 修改nginx配置

编辑 /etc/goodrain/nginx/sites/webconsole文件

   ...
server {
    listen 120.25.244.84:8188;
    server_name webconsole.goodrain.me;
   ...
    }

listen 192.168.1.200:8188; 修改成你需要连接的IP

如果云帮系统是之前某个版本,则编辑/etc/nginx/sites-enabled/webconsole