DataStudio Installation Guide

Modified on Wed, 5 Mar at 3:29 PM

DataStudio is a tool designed to encourage visual thinking and creativity. It enables users to visualize and track their Contact Center's data efficiently.

This guide outlines the necessary steps to install and configure DataStudio.


Versions


Benchmarks
 For 1 tenant with 300 agents and 30 supervisors with 1 year of data, the recommended benchmarks are:

  • 3 nodes with 2 CPU and 8 GB RAM.
  • 4GB Postgres Disk
  • 8GB Elastic Disk
  • 8GB logs Disk 

For 1 tenant with 600 agents and 60 supervisors with 1 year of data, the recommended benchmarks are:

  • 3 nodes with 4 CPU and 16 GB RAM.
  • 4GB Postgres Disk
  • 16GB Elastic Disk
  •  8GB logs Disk


Requirements


Installation Steps

1. Update OneContact Components

Ensure that all OneContact components are updated to the versions specified in the latest release notes (here).


2. Verify RabbitMQ and ElasticSearch

Ensure that both RabbitMQ and ElasticSearch services are up and running.


3. Configure Discovery Settings

Ensure the following configurations are properly set in Discovery:

ElasticSearchSettings:URI: "https://!!!CHANGEME!!!"
ElasticSearchSettings:Username: "elastic"
ElasticSearchSettings:Password: "!!!CHANGEME!!!"
EventBus:OneContactEvents: "true"
EventBus:Type: "rabbitmq"
EventBus:URL: "!!!CHANGEME!!!:5672"
EventBus:Username: "guest"
EventBus:Password: "!!!CHANGEME!!!"
DataStudio:URL: "http://!!!CHANGEME!!!:3000"
DataStudio:Username: "internal_datastudio_admin"
DataStudio:Password: "!!!CHANGEME!!!"

4. Unzip the Installation File

Unzip the downloaded DataStudio folder.


5. Open a Command Line

Inside the Unzipped DataStudio Installation Folder, there is a folder named "helm". Open a CommandLine inside the folder "helm". The following commands must be executed from this directory. 


6. Update Dependencies

If the .tgz file is missing from the chart/charts folder, update dependencies:

helm dependency update

7. Create a Namespace

Create the data-studio namespace:

kubectl create namespace data-studio

8. Create Secrets

a. Image Pull Secret
Creates a secret to access Collab’s Image Repository for fetching DataStudio images.

The password and token must be obtained from Collab and are unique to each client.

kubectl -n data-studio create secret docker-registry azure-dockerconfigjson `  --docker-server=collabrdregistry.azurecr.io `  --docker-username=dockerpull `  --docker-password="!!!CHANGEME!!!"

b. Secret for Grafana Admin Password
This password must match the DataStudio:Password key in Discovery.

kubectl -n data-studio create secret generic grafana-pass `  --from-literal=password="!!!CHANGEME!!!"

c. Secret for PostgreSQL Dependency
Create secrets for the PostgreSQL database dependency:

kubectl -n data-studio create secret generic postgresql-datastudio `  --from-literal=adminPass="!!!CHANGEME!!!" `  --from-literal=userPass="!!!CHANGEME!!!" `  --from-literal=replPass="!!!CHANGEME!!!"

d. Secret for SMTP Password (Optional)
If SMTP functionality is required:

kubectl -n data-studio create secret generic smtp-pass `  --from-literal=password="!!!CHANGEME!!!"

9. Configure Chart Values

Modify the chart/values.yaml file to include the following configurations:

  1. If no storage class is available, create one (e.g., AzureStorage):

    kubectl apply -f ./auxiliar/auxiliar-yamls/azure-postgres-storage.yaml
  2. Update the following keys in values.yaml:

    • postgresql.primary.storageClass
    • mainConfig.azureStorage
    • mainConfig.storageClassName
    • mainConfig.discovery.systemId
    • mainConfig.discovery.url
    • mainConfig.ingress.host
    • mainConfig.ingress.path
    • components.grafana.customPluginUrl
    • components.grafana.oauth.apiUrl
    • components.grafana.oauth.authorityUrl
    • components.grafana.oauth.authUrl
    • components.grafana.oauth.redirectUrl
    • components.grafana.oauth.token.url
    • components.grafana.loadBalancer.ip (must match Discovery’s DataStudio:URL)
    • components.subscriber.config.portalDb.ocSystemId
    • components.grafanaApi.loadBalancer.ip
  3. If SMTP is required, configure these additional keys:

    • components.grafana.config.smtp.enabled
    • components.grafana.config.smtp.host
    • components.grafana.config.smtp.port
    • components.grafana.config.smtp.fromAddress
    • components.grafana.config.smtp.fromName
    • components.grafana.config.smtp.username

10. Install DataStudio

Check the values.yaml file for correctness, then install using Helm:

helm upgrade --install data-studio ./chart -n data-studio

Enable DataStudio in a Tenant

Click here to learn how to enable DataStudio in a tenant.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article