We can use the following command to check the connectivity of WebSocket. Where
<gpcc_ip> is the IP address of the
gpcc server and
<gpcc_port> is the
gpcc port (28080 by default).
curl --no-buffer -H 'Connection: keep-alive, Upgrade' -H 'Upgrade: websocket' -v -H 'Sec-WebSocket-Version: 13' -H 'Sec-WebSocket-Key: websocket' <gpcc_ip>:<gpcc _port>/gpcc_v2/websocket
If the connectivity of WebSocket is unaffected, the output should be this:
[gpadmin@mdw-barman ~]$ curl --no-buffer -H 'Connection: keep-alive, Upgrade' -H 'Upgrade: websocket' -v -H 'Sec-WebSocket-Version: 13' -H 'Sec-WebSocket-Key: websocket' 192.168.26.54:28080/gpcc_v2/websocket
* About to connect() to 192.168.26.54 port 28080 (#0)
* Trying 192.168.26.54...
* Connected to 192.168.26.54 (192.168.26.54) port 28080 (#0)
> GET /gpcc_v2/websocket HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 192.168.26.54:28080
> Accept: */*
> Connection: keep-alive, Upgrade
> Upgrade: websocket
> Sec-WebSocket-Version: 13
> Sec-WebSocket-Key: websocket
>
< HTTP/1.1 101 Switching Protocols
< Upgrade: websocket
< Connection: Upgrade
< Sec-WebSocket-Accept: qVby4apnn2tTYtB1nPPVYUn68gY=
messageType":"AllHostInfo","hostsInfo":{"<hostname>":"{\"hostname\":\"mdw-barman\",\"numCpu\":2}"}}messageType":"NotificationMessage"}messageType":"AnonymousMessage"}messageType":"AgentMessage"}
The following are two examples of failure when the connectivity of WebSocket affected :
Example 1:
* About to connect() to 192.168.26.54 port 28080 (#0)
* Trying 192.168.26.54...
* Connection refused
* Failed connect to 192.168.26.54:28080; Connection refused
* Closing connection 0
curl: (7) Failed connect to 192.168.26.54:28080; Connection refused
Example2:
* Trying 192.168.26.54:28080...
* TCP_NODELAY set
* connect to 192.168.26.54 port 28080 failed: Timed out
* Failed to connect to <hostname> port 28080: Timed out
* Closing connection 0
curl: (28) Failed to connect to <hostname> port 28080: Timed out
If you are experiencing connectivity issues with WebSocket, engage your network team to troubleshoot what is blocking WebSocket by checking network configs and firewall settings.