Skip to content

Verify Network Connectivity for Botium Agents

Botium Box may experience troubles when connecting the your chatbot.

Possible Reasons

There are lots of possible reasons for this, which Botium Box cannot solve by itself:

  • Company firewall rules are prohibiting access to the chatbot endpoint

  • Hostname resolution is not configured correctly or not accessible to docker containers

  • Network access is only possible by using a company HTTP(S) proxy

  • For HTTP(S) chatbot endpoints or HTTP(S) proxies, SSL certificate handling may be a problem (self-signed certificates, non-standard SSL signer, …)

  • Hostname mapping within a docker network not configured/used correctly

Hints for Connectivity Troubles

Whenever you are receiving error messages in the Botium Box logs like these, we suggest to verify the network connectivity:

  • ESOCKETTIMEOUT

  • ENOTCONNECTED

  • hostname not found

  • invalid SSL certificate

  • git error 128

Troubleshooting

To verify connectivity from your Botium Box Server(s) or Agent(s), follow these steps.

Identify Docker Container

Find the docker container id of the Botium Box Server or a Botium Box Agent. Run this docker command to see the running containers and find the container id in the first column of the container in question:

docker ps

Select the docker container from the second column, the image name, which points to Botium Box Server or Botium Box Agent.

Connect to Docker Container with Terminal

Run this command to spawn a bash shell within the docker container in question - replace <container-id> with the container id from the previous step.

docker exec -it <container-id> /bin/bash

Check Connectivity with Linux Tools

There are several options now to check the connectivity

Check IP Connectivity with ping

First you should try to ping the IP-Address or Hostname

ping <ip-address-to-check>

Check Hostname Resolution with nslookup

If you connect by Hostname instead of IP address, you can check hostname resolution

nslookup <hostname-to-check>

Check IP/Port Connectivity with nc

netcat is a universal tool to (among others) check network connectivity. To check if the connection to a given port on a given host is available, run this command (obviously, replace IP-Adress and port):

nc -zv <ip-address-to-check> <port>

It will immediatly show if connection is possible.

Note

For more usage scenarios with netcat, ask Google.

Check HTTP(S) Connectivity with wget

To check if HTTP(S) connectivity is given, use wget. To do a simple HTTP(S) GET request, try this:

wget <my-endpoint-url>

Note

wget is an extremly versatile tool, please consult the manual or Google for more usage scenarios.

Alternative: Check HTTP(S) Connectivity with curl

Run this command to install curl:

apk add curl

Note

For this step, you need access to the Alpine Linux software repository, so please make sure to open up the required network ports. If you cannot do this, you will have to add curl to the Botium Box Dockerfiles and build your own images (for advanced users only).

To do a simple HTTP(S) GET request, try this:

curl http://my-selenium-server:4444/wd/hub

Fix Connectivity Problems

Sorry, there are no generic instructions available. Please consult your networking or devops administrators.