Configurazione dello SKOOR Webservice

Avvio / arresto / riavvio /stato del servizio

Il Webservice di eRanger è configurato come servizio Linux e può essere gestito con i rispettivi comandi:

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

Configurazione

La configurazione standard dovrebbe funzionare senza alcuna modifica.

Se necessario, è possibile apportare le seguenti modifiche:

Fornitori AI

I provider AI sono usati principalmente per generare codice dal linguaggio naturale. Un esempio è la funzione Text2SQL per le query di dati.

Attualmente SKOOR supporta i seguenti provider:

  • SKOOR AI

    • Gestito da SKOOR, non richiede la condivisione di dati con altri provider di terze parti.

    • Ottimo come punto di partenza.

    • Fornisce precisione e prestazioni di base.

    • È richiesta la connessione HTTPS a ai.skoor.com.

    • Già preconfigurato in ogni installazione SKOOR.

  • OpenAI

    • Probabilmente il provider più avanzato.

    • Richiede un abbonamento API di OpenAI.

    • È necessaria una connessione HTTPS ai server API di OpenAI.

  • Google Gemini

    • Precisione simile a quella di OpenAI.

    • Relativamente veloce.

    • Necessita di una chiave API di Google Cloud.

    • È necessaria una connessione HTTPS ai server di Google Cloud.

Le impostazioni dell'IA (ad esempio le chiavi API) possono essere configurate 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

Solo uno dei due siti google o openai può essere attivo contemporaneamente. Se né googleopenai sono configurati, SKOOR AI verrà utilizzato automaticamente.

Porta Tomcat

Se la porta standard 8090 non è disponibile, è possibile modificarla nel 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

La stessa porta deve essere configurata nella configurazione del reverse proxy 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>

File PID

Nella configurazione predefinita, un file PID viene scritto in "/var/opt/run/eranger".

Se si preferisce un percorso diverso, è possibile configurarlo nel 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

Il webservice è in grado di ottenere dati da più backend SKOOR Engine utilizzando il tenantId.

Per configurare altri backend, è necessario creare un file di configurazione separato eranger-webservice-<tenantId>.cfg nella cartella /etc/opt/eranger. Questo file è fondamentalmente una copia del file eranger-webservice.cfg predefinito con un indirizzo eranger specifico per il tenant...

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

Non è necessario modificare files.root o reports.root. Il webserver gestisce autonomamente la separazione di queste cartelle.

Dopo aver salvato la configurazione, si dovrebbe essere in grado di recuperare i dati dallo SKOOR Engine configurato fornendo l'intestazione della richiesta HTTP X-Tenant-Id o il parametro URl tenantId.