Product start/stop
Start & stop services
Starting Qbo requires two steps.
Check shell environment configuration
First, invoke the environment_setter
script to configure the environment of the current shell:
Note: Assuming Qbo is installed at location /opt/unscrambl/chai/rhel07
.
$ /opt/unscrambl/chai/rhel07/chai/bin/environment_setter
The environment_setter
script loads the user’s .bashrc
file (if it exists) and checks that the execution
environment meets the needs of Qbo. It validates that the executables for the Java Virtual Machine
(java
), the Node.js interpreter (node
), and the Python interpreter (python
) are consistent with the
ones needed by Qbo.
If it finds an inconsistency due to a modification of the user’s PATH
environment variable in .bashrc
, it
will display an error message. To fix this:
If it is an irrelevant or unintended misconfiguration, remove the problem setting from your
.bashrc
file.If the original behavior needs to be preserved, make the following modification to the
PATH
environment variable:if [[ -z ${UNSCRAMBL_PRODUCT:-} ]]; then export PATH=<path_to_custom_node_js>:<path_to_custom_jdk>:$PATH fi
UNSCRAMBL_PRODUCT
is an environment variable defined by Qbo in the new instance of the Bash shell that
the environment_setter
starts.
This allows the shell to use a different PATH
variable when Qbo is running, and your usual configuration
when it isn’t.
Start Qbo services
To start Qbo services:
$ $UNSCRAMBL_HOME/bin/services_manager start
Issues while starting the service:
1. If IPv6 is disabled:
Error:
Caused by: java.net.SocketException: Protocol family unavailable
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.thrift.transport.TSocket.open(TSocket.java:221)
Solution:
To verify the IPv6 on the machine -
If IPv6 is in an enabled state then you will get some output on the console.
# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::222:48ff:fe59:428e/64 scope link
valid_lft forever preferred_lft forever
If IPv6 is in a disabled state then you will get an empty output.
# ip -6 addr
If IPv6
is disabled then go-to chai/etc/runtime_environment.json
file, change ipV6Available
to false
and usingIpV4
to true
, after changing it should look like as below.
"network": {
"interface": "eth0",
"ipV6Available": false,
"usingIpV4": true
}
2. Missing locale in the machine:
Error:
$UNSCRAMBL_HOME/bin/services_manager start
ERROR: the execution failed, details:
com.unscrambl.foundation.commons.Main$UnsupportedLocaleException: the 'null' locale does not match the supported locale 'en_US.UTF-8'
Solution:
If command locale | grep LC_ALL
is showing blank LC_ALL then add the below entry in ~/.bashrc
file of the same user
from which you are starting the services.
export LC_ALL=en_US.UTF-8
Save the file and source the .bashrc (source ~/.bashrc) file again to make the effect of the change.
Check that Qbo services are running
Open a browser on any computer with access to the Qbo server and navigate to the URL you configured for its web user interface. For example, https://unscrambl.example.com/chai.
Check access using one of the messaging-based channels you enabled (see Configuration of other Channels).
Alternatively, check the status of the Qbo services (services running or not) on the command line:
$ $UNSCRAMBL_HOME/bin/services_manager check
The output looks like this:
services_manager check
performing the 'check' operation on the 'Unscrambl chAI Name Service group' service group
performing the 'check' operation on the 'Name Service' service
- Name Service: the service was healthy at 2021-08-26T11:47:12.921Z[Etc/UTC] (started at 2021-08-18T00:55:50.035Z[Etc/UTC])
performed the 'check' operation on the 'Name Service' service in 0.04s
performed the 'check' operation on the 'Unscrambl chAI Name Service group' service group in 0.04s
performing the 'check' operation on the 'QueryBots' service group
performing the 'check' operation on the 'qbo' service
- qbo: the service was healthy at 2021-08-26T11:47:12.941Z[Etc/UTC] (started at 2021-08-18T00:55:50.142Z[Etc/UTC])
performed the 'check' operation on the 'qbo' service in 0.02s
performed the 'check' operation on the 'QueryBots' service group in 0.02s
performing the 'check' operation on the 'Unscrambl chAI REST services' service group
performing the 'check' operation on the 'Elasticsearch' service
- Elasticsearch: the service was healthy at 2021-08-26T11:47:13.469Z[Etc/UTC] (started at 2021-08-18T00:56:03.302Z[Etc/UTC])
performed the 'check' operation on the 'Elasticsearch' service in 0.53s
performing the 'check' operation on the 'Analytics management' service
- Analytics management: the service was healthy at 2021-08-26T11:47:13.493Z[Etc/UTC] (started at 2021-08-18T00:56:04.900Z[Etc/UTC])
performed the 'check' operation on the 'Analytics management' service in 0.02s
performing the 'check' operation on the 'DataFetcher' service
- DataFetcher: the service was healthy at 2021-08-26T11:47:13.513Z[Etc/UTC] (started at 2021-08-18T00:56:06.886Z[Etc/UTC])
performed the 'check' operation on the 'DataFetcher' service in 0.02s
performed the 'check' operation on the 'Unscrambl chAI REST services' service group in 0.57s
performing the 'check' operation on the 'Unscrambl chAI Free-form service group' service group
performing the 'check' operation on the 'Free-form load balancer' service
- Free-form load balancer: the service was healthy at 2021-08-26T11:47:13.534Z[Etc/UTC] (started at 2021-08-18T00:56:09.310Z[Etc/UTC])
performed the 'check' operation on the 'Free-form load balancer' service in 0.02s
performing the 'check' operation on the 'Free-form service' service
- Free-form service: the service was healthy at 2021-08-26T11:47:13.550Z[Etc/UTC] (started at 2021-08-18T00:56:11.689Z[Etc/UTC])
performed the 'check' operation on the 'Free-form service' service in 0.02s
performed the 'check' operation on the 'Unscrambl chAI Free-form service group' service group in 0.04s
performing the 'check' operation on the 'Unscrambl chAI core services' service group
performing the 'check' operation on the 'Unscrambl chAI bot server' service
- Unscrambl chAI bot server: the service was healthy at 2021-08-26T11:47:13.567Z[Etc/UTC] (started at 2021-08-18T00:56:14.160Z[Etc/UTC])
performed the 'check' operation on the 'Unscrambl chAI bot server' service in 0.02s
performed the 'check' operation on the 'Unscrambl chAI core services' service group in 0.02s
Stop Qbo services
To stop the Qbo services:
$ $UNSCRAMBL_HOME/bin/services_manager stop
To find the URL at which the Qbo is running:
If you have configured https, the URL is likely to be: https://<domain name used in https>/chai
If you have not configured http, the URL is likely to be: http://hostname:port/chai
where port can be located in ``chai.json``.
For example: ``$UNSCRAMBL_HOME/etc/chai.json``
Logs
Logs can be found at:
$UNSCRAMBL_INSTANCE_HOME/service_management/core_services/bot_service/logs/chai-(Date).log*
One log file is generated per date. The logs will provide details of any errors encountered in Qbo components.
Common errors
Common errors encountered with Qbo include:
License expired.
Dev environment should be active.