SKOOR Webservice Configuration

Service start / stop / restart /status

The eRanger Webservice is configured as a Linux service and can be managed with the respective commands:

# systemctl start eranger-webservice
# systemctl stop eranger-webservice
# systemctl restart eranger-webservice
# systemctl status eranger-webservice

Configuration

The standard configuration should work out of the box with no changes.

The following changes can be done if required:

AI Providers

AI providers are mainly used for generating code from natural language. One example is the Text2SQL feature for Data Queries.

SKOOR currently supports the following providers:

  • SKOOR AI

    • Operated by SKOOR, no need to share any data with other third party providers.

    • Good as a starting point.

    • Provides basic accuracy and performance.

    • HTTPS connection to ai.skoor.com required.

    • Already preconfigured in every SKOOR Installation.

  • OpenAI

    • Probably the most advanced provider.

    • Needs an API subscription from OpenAI.

    • HTTPS connection to OpenAI API servers required.

  • Google Gemini

    • Similar accuracy to OpenAI.

    • Relatively fast.

    • Needs an API Key from Google Cloud.

    • HTTPS connection to Google Cloud servers required.

AI settings (e.g. API keys) can be configured in /etc/opt/eranger/eranger-webservice.cfg.

ai.enable=true 
                        # Enables or disables the AI features
ai.openaiApiKey=<key>
                        # API key can be obtained from OpenAI 
ai.googleVertexAiApiKey=/etc/opt/eranger/googleVertexAiKey.json
                        # Google JSON API key can be obtained from the Google Cloud Console.
ai.googleVertexAiProjectId=<google-project-id>
                        
ai.googleVertexAiLocation=<location>
                        # Location of the AI servers. Zurich is europe-west6

Only one of google or openai can be active at the same time. If neither google nor openai is configured, SKOOR AI will be used automatically.

Tomcat port

If the standard port 8090 is not available, it can be changed in the file "/opt/eranger/eranger-webservice/eranger-webservice.conf":

/opt/eranger/eranger-webservice/eranger-webservice.conf
# Spring Boot service config file
# Has to be in the same directory as the JAR file
MODE=service
JAVA_HOME=/opt/eranger/eranger-jre/current
APP_NAME=eranger-webservice
JAVA_OPTS="-Dserver.port=8091"
PID_FOLDER=/var/opt/run/eranger
LOG_FOLDER=/var/log/eranger
LOG_FILENAME=eranger-webservice.log

The same port must be configured in the reverse proxy configuration in "/etc/httpd/conf.d/eranger-webservice-proxy.conf":

/etc/httpd/conf.d/eranger-webservice-proxy.conf
# mod_proxy setup for using httpd as a reverse proxy for tomcat
# has to placed in /etc/httpd/conf.d
ProxyPass /eranger-webservice http://localhost:8091
ProxyPassReverse /eranger-webservice http://localhost:8091
<Location "/eranger-webservice">
  setOutputFilter DEFLATE
  Require all granted
  Satisfy Any
  Order allow,deny
  Allow from all
</Location>

PID file

In the default configuration, a PID file is written to "/var/opt/run/eranger".

If a different path is preferred, it can be configured in the file "/opt/eranger/eranger-webservice/eranger-webservice.conf".

/opt/eranger/eranger-webservice/eranger-webservice.conf
# Spring Boot service config file
# Has to be in the same directory as the JAR file
MODE=service
JAVA_HOME=/opt/eranger/eranger-jre/current
APP_NAME=eranger-webservice
JAVA_OPTS="-Dserver.port=8091"
PID_FOLDER=/new/pid/path

Multi tenancy

The webservice is able to get data from multiple SKOOR Engine Backends using the tenantId.

To configure additional backends, one has to provide a separate eranger-webservice-<tenantId>.cfg config file in the /etc/opt/eranger folder. This file is basically a copy of the default eranger-webservice.cfg file with a tenanc specific eranger address..

/etc/opt/eranger/eranger-websevice-<tenantId>.cfg
# eRanger Server Address
eranger.address=<host of Skoor server>

You don't have to change files.root or reports.root. The webserver handles the separation of those folders itself.

After the configuration has been saved, you should be able to retrieve data from the configured SKOOR Engine by providing either the HTTP request header X-Tenant-Id or the URl parameter tenantId.