Sidebar

How can I tell from a probe if QIE is up and running, or if a channel is listening?

0 votes
324 views
asked Jun 23, 2020 by ben-s-7515 (12,640 points)
edited Jun 23, 2020 by gary-t-8719
I need to be able to tell if QIE is up and running using a probe from a load balancer, is this possible?  Also, is there a way that the load balancer can check if a specific port is listening?

1 Answer

0 votes

Starting with the 4.0.49 release of QIE there are two probes that can be used by containerized environments like kubernetes and docker, or load balancers.

To configure the QIE instance for a probe port, you will add a new java option to the QIE environment, this java option is:

qie.containerProbePort={anyPort}

Once the container probe port is defined, a probe to check if a container is fully initialized, or if QIE is up and running can be setup to call:

http://{qieServer}:{containerProbePort}/

This call will return an HTTP status 200 if the QIE service is running and initialized.  If the service is still starting, it will return an HTTP status 503.  It is used by container probes to check if the container is up and running before placing it into the cluster, such as a kubernetes livenessProbe and startupProbe.

To check if a specific channel is up and listening on a port for a load balancer, a probe can be setup to call:

http://{qieServer}:{console port}/channelStatus?port={LISTENING PORT}

This call will return an HTTP status 200 if a channel is found that is listening on this port, if a channel is found but is not listening, than an HTTP status 503 will be returned, finally, if a channel is not found that is listening on this port than an HTTP status 404 will be returned.  Using this probe with a load balancer or traffic manager will allow spcific nodes to stop the channel and the load balancer will route the traffic to other nodes even if the QIE service is up and running.

answered Jun 23, 2020 by ben-s-7515 (12,640 points)
...