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.