Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Problem

Info
The Appliance Server is not communicating with the Cloud

...

  1. Open the Cloud UI and go to Settings (on the left hand side) / Discovery / Appliances
  2. Look at the list of Appliance Servers. If your Appliance Server is listed there and has a green bar under 'Last Status' then it is communicating correctly with the cloud.

Solution

Check the Appliance Server

  1. Verify that Appliance Server has been registered.
    1. On the Appliance Server, check /opt/iqas/server-4.5/conf/Appliance/config.properties (Appliance Config File)
    2. The file should contain a REGISTRATION_KEY, if it doesn't then you need to register the appliance
  2. Verify that the websocket is configured correctly
    1. In the same file, check that WEBSOCKET_URL is correctly configured to a non-empty value (starting with the 'ws:' or 'wss:' protocol)
    2. Check the websocket configuration, /opt/communication/,.env
    3. The value of TENANT_ID should match the ORGOID in the Appliance Config
    4. The value of WEBSOCKET_URL should be the same as the value in the Appliance Config
    5. Verify that the host in the WEBSOCKET_URL is accessible using netcat (the default port is 9001)
    6. The APPLIANCE_ID should be the same as the APPLIANCE_ID in the Appliance Config but only the bit after the last colon (:)
    7. Verify that the host and port in RABBIT_APPLIANCE_HOST and RABBIT_APPLIANCE_PORT can be accessed using netcat.

...

Info
titleUsing NetCat to verify a port

To verify a port is available on a host:

Code Block
nc -vnzw1 <host ip address> <port>

For example:

Code Block
nv -vnzw1 1.2.3.4 8888


Verify Connectivity Across the WebSocket

The ws connection used to communicate over the WebSocket is also a http connection.

To verify that change the protocol to https and add the live-data endpoint, then use curl to connect. For example:

Code Block
curl -sI https://<host>:443/communication/live-data

On production this is:

Code Block
curl -sI https://iqcloud.iquate.net:443/communication/live-data

If not, typically a 403 Forbidden response, indicates that the routes are not open. (Ask DevOps to resolve)

If this responds with a 2xx or 5xx error, then communication is okay.

(If the WebSocket URL is ws, then use a http connection)

In the Beta environment the Appliance Server public IP address needs to be whitelisted. (seeĀ /wiki/spaces/HADM/pages/1511969 for instructions)

Logs Required for Troubleshooting

On the Appliance Server

First, get the logs from the websocket in docker.

Code Block
docker logs communication_websocket-client_1 > /opt/iqas/server-4.5/log/websocket.log
docker logs communication_rabbitmq-appliance_1 > /opt/iqas/server-4.5/log/rabbitmq.log

Then take all the logs in the /opt/iqas/server-4.5/logs directory.

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@21b742
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "kb-troubleshooting-article" and type = "page" and space = "HADM"
labelskb-troubleshooting-article

...