Feedback

  • Contents
 

Install CX Insights server

  1. Install RHEL version 8.3, 8.4 or 8.5 on either a physical or virtual server that meets the minimum requirements for the production environment. For more information about minimum requirements, see CX Insights server requirements.
  1. Download CX Insights Docker containers from the following website:

 https://help.genesys.com/utilities-and-downloads.html

  1. Extract the CX Insights artifacts archive that contains ansible_install.sh, and cx-insights.tgz.
  1. Run the shell script ansible_install.sh to install the dependencies like Python, Ansible packages using the root user account. It also creates the CX Insights user account to perform all the Ansible roles and tasks.

Notes:

    • If the RHEL already has pip installed, then ensure that pip is of version 21.3.1, which is compatible with Python 3.9.0 else all the installation will fail.

    • By using the command which ansible, verify if Ansible is installed. If it is installed, you can see the Ansible version 2.9.27 and can also verify by running ansible -version command. Otherwise, rerun the ansible_install shell script.

    • By using the command cut -d: -f1 /etc/paswd and logging into CX Insights account, verify if CX Insights account is created.

      • su cxinsights

  1. Prerequisite for running Ansible-playbook
    • Extract the cxinsights-playbook-k3s file to the CX Insights user home directory. After extraction, move the kube_archive_clean.py file to the /home/cxinsights directory.

    • Generate Ansible vault for CX Insights user password. Ansible modules require this value to install k3s, helm.

      • Ansible-vault encrypt_string 'passwd' --name 'helm_linux_host_passwd' --vault-id cxinsights@prompt, replace passwd with CX Insights user account password. It asks for the password for vault usage, enter the password and make a note of it, so that the user can enter the same password while running ansible-playbook command
      • Ansible-vault encrypt_string 'passwd' --name 'tiller_linux_host_passwd' --vault-id cxinsights@prompt, generate the password again only if you are planning to keep controller and CX Insights server separately, else add the above generated vault value in both helm_linux_host_passwd and till_linux_host_passwd in the group_vars/all.yml file as shown below

    • Configure a backup directory and a cron job expression using the following parameters in the group_vars/all.yml file to backup CX Insights data.

      • backup_dir – specify the backup directory path. Configuring backup_dir is mandatory. For backup purposes, create the backup directory as a share path on a remote computer and mount the same on the local computer where you installed the CX Insights server. Example, /mnt/nfs/share/gcxibackup

      • cron_schedule – specify the cron expression that defines the backup frequency in which the backup activity runs. Configuring cron_schedule is optional. If you do not define any expression, the backup activity runs at the default time every day, that is at 12.00 am. An example cron expression to run the backup activity every day at 7.00 am and 12.00 pm looks like: "0 7,12 *  * *". Note that Cron job is added for the root user only.

You can also restore the backed-up data at a future date when there is a system failure. For more information about restore, see Backup and restore configuration topic.

    • Specify the Genesys CX Insights (gcxi) properties in the values.yml file by referring to the following table:

Property name

Description

cicServerName

The IP address of the primary CIC server.

cicBackUpServerName

The IP address of the secondary CIC server.

langs (optional)

The localization language required for your organization. Configuring langs is optional.

The US English (en_US) is mandatory. You can also specify other supported languages of your choice along with en_US. Currently, the supported language pack values are: en-US,fr-FR,de-DE,ja-JP,pt-BR,es-ES,zh-CN,nl-NL,pl-PL

For more information about the language pack configuration, see the sample configuration given below this table.

certICSAML

Specify the certificate details required for SAML authentication. Copy the contents of the certificate details from the ICSecureTokenServerCertificate.cer file in the CIC Server IC-Token Service folder (I3\IC\Certificates\ICSecureTokenServer\Default\ICSecureTokenServerCertificate.cer) and paste it here.

mstrLicense

Specify the Microstrategy License key.

proxyEndpoint

Specify the Fully Qualified Domain Name (FQDN) of a proxy server if the CX Insights server is accessed through a proxy server. If a proxy server is not configured in your environment, then you must specify the FQDN of the CX Insights server.

secret

Secret used for web socket authentication between the Analytics bridge and the microservices (mstrdataadapterserver and mstrtconnector). Ensure that the secret given here and the secret given in Interaction Administrator > System Configuration > Analytics > Configuration are same.

Global variables

 

tz

Specify the time zone of the region where gcxi server is installed.

hosts

The Linux host name of the CX Insights server. Note that the host name you specify here must be an FQDN.

maxPoolSize (optional)

The maximum number of concurrent web sessions allowed. This is an optional parameter and the default value is 200.

tls (ingress)

  • If you do not want to enable TLS secured communication for ingress, keep the square brackets as given in the values.yml file, that is, [ ].

  • If you want to enable TLS secured communication for ingress, remove the square brackets and specify the host name (ingress endpoint) and its secret.

Note: If you enable TLS, you must install an SSL certificate by following the Install SSL certificate on CIC server procedure.

secret name (ingress)

Specify the Kubernetes cluster secret. We recommend that you keep the secret name value as given in the values.yml file, that is, pcn-cxinsights-tls

hosts (ingress)

Specify the FQDN of ingress host. Typically, this is the FQDN of the CX Insights server that you configure in the hosts setting.

tls (prometheusIngress)

  • If you do not want to enable TLS secured communication for Prometheus ingress, keep the square brackets as given in the values.yml file, that is, [ ].

  • If you want to enable TLS secured communication for Prometheus ingress, remove the square brackets and specify the host name (Prometheus ingress endpoint) and its secret.

Note: If you enable TLS, you must install an SSL certificate by following the Install SSL certificate on CIC server procedure.

secret name (prometheusIngress)

Specify the Kubernetes cluster secret. We recommend that you keep the secret name value as given in the values.yml file, that is, pcn-cxinsights-tls

hosts (prometheusIngress)

Specify the FQDN of Prometheus ingress host. Typically, this is the FQDN of the CX Insights server that you configure in the hosts setting.

Sample values.yml file configuration:

gcxi:

gcxiproperties:

cicServerName: IP address of primary IC server

cicBackUpServerName: IP address of secondary IC server

langs: en-US,fr-FR,de-DE,ja-JP,pt-BR,es-ES,zh-CN,nl-NL,pl-PL

maxPoolSize: 250

certICSAML:

MIIDoTCCAomgAwIBAgIFQWCBgwkwDQYJKoZIhvcNAQEFBQAwRzEQMA4GA1UECgwH

U2VydmVyczEVMBMGA1UECwwMU2VydmVyIEdyb3VwMRwwGgYDVQQDDBNPbHltcGlh

LmRldjIwMDAuY29tMB4XDTIwMDMwNzIxNDQ0M1oXDTQwMDMwODIxNDQ0M1owRzEQ

MA4GA1UECgwHU2VydmVyczEVMBMGA1UECwwMU2VydmVyIEdyb3VwMRwwGgYDVQQD

DBNPbHltcGlhLmRldjIwMDAuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB

CgKCAQEAs9WJ+2CqWRvQZs2SHc3kf/Ia+fOxW44SDgHxEMHKIqHx0rXwmuGbqTTt

mstrLicense: mstr license key

proxyEndpoint:

- pcn-rhel8.testCXI.com

secret: analytics

global:

tz: America/Indiana/Indianapolis

hosts:

- pcn-rhel8.testCXI.com

ingress:

tls:

- secretName: pcn-cxinsights-tls

hosts:

- pcn-rhel8.testCXI.com

prometheusIngress:

tls:

- secretName: pcn-cxinsights-tls

hosts:

- pcn-rhel8.testCXI.com

    • Below is the inventory.yml file in the cxinsights-playbook-k3s directory, specify with appropriate values. For example: Assume Ansible and k3s are running on the same machine. If the controller is different from target machine, then helm_linux_host should be the controller host FQDN and tiller-linux-host should be the FQDN of the CX Insights server host.

---

helm_linux_host:

hosts:

xxx-xxxxx-xxxxx.xxxxxxx.com

vars:

ansible_user: '{{ user }}'

ansible_ssh_pass: '{{ passwd }}'

tiller_linux_host:

hosts:

xxx-xxxxx-xxxxx.xxxxxxx.com

vars:

ansible_user: '{{ user }}'

ansible_ssh_pass: '{{ passwd }}'

 

    • If this is the fresh installation and you want to save the application data in secondary partition, keep the default value of data_dir as given in the main.yml file. The default value of data_dir is /home/cxinsights/kube_data. If you are already using the primary partition, modify the data_dir value in the main.yml file as shown below.

data_dir: ''

Note: If this is the fresh installation of CX Insights, we recommend that you deploy the software in secondary partition, provided you have the disk space as recommended in step 1. Drive partitioning and using secondary drive to save CX Insights data is possible only for fresh installation. If CX Insights is already installed without partitioning the drive, you may not be able to use the secondary drive. In that case you must modify data_dir as ' '.

  1. Run the Ansible Playbook to start the services on the CX Insights server. For the first time, it is slow as dependencies get installed.

sudo ansible-playbook --vault-id cxinsights@prompt -i inventory.yml site.yml -K

Note:

  • Make sure you enter CX Insights password when BECOME password is asked.
  • After the deployment is triggered, you must wait for some time until the state of GCXI pod is healthy.
    • Run the below mentioned commands to ensure that everything is up and running.

      • To see all the containers are up and running in all namespaces, use the command kubect1 get pods -A

      • To see all the containers are up and running only in pcn-cxinsights-system namespace, use the command kubectl get pods --namespace=pcn-cxinsights-system

      • To see all the services running in all namespaces, use the command kubectl get services -A

      • To see all the services are running only in pcn-cxinsights-system namespace, use the command kubectl get services --namespace=pcn-cxinsights-system

      • To see all the persistent volumes in all namespaces, use the command kubectl get pvc -A

      • To see all the persistent volumes only in pcn-cxinsights-system namespace, use the command kubectl get pvc --namespace=pcn-cxinsights-system

 

 

Related Topics:  

Install SSL certificate on CIC server

Ports exposed on CX

Configure CX Insights in Interaction Administrator

Backup and restore configuration

Troubleshooting

Upgrade containers