Configurazione dello SKOOR Webservice

Avvio/arresto/riavvio/stato del servizio

Il servizio web 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

Altrimenti, la configurazione standard dovrebbe funzionare immediatamente senza modifiche.

Se necessario, è possibile apportare le seguenti modifiche:

CORS (Cross-Origin Resource Sharing)

Se il servizio web deve essere utilizzato da un'applicazione su un'origine diversa, tale origine deve essere inserita nella whitelist sotto forma di elenco separato da virgole.

# cors.allowed.origins=

Non è necessario aggiungere l'URL in cui risiede SKOOR o SKOOR Viewer. Le richieste provenienti dalla stessa origine sono già consentite per impostazione predefinita.

Fornitori di IA

I fornitori di IA vengono utilizzati principalmente per generare codice dal linguaggio naturale. Un esempio è la funzione Text2SQL per le query di dati.

SKOOR attualmente supporta i seguenti provider:

  • SKOOR AI

    • Gestito da SKOOR, non è necessario condividere alcun dato con altri fornitori terzi.

    • Ottimo come punto di partenza.

    • Fornisce accuratezza e prestazioni di base.

    • È necessaria una connessione HTTPS a ai.skoor.com.

    • Già preconfigurato in ogni installazione SKOOR.

  • OpenAI

    • Probabilmente il provider più avanzato.

    • Richiede un abbonamento API da OpenAI.

    • È necessaria una connessione HTTPS ai server API OpenAI.

  • Google Gemini

    • Precisione simile a OpenAI.

    • Relativamente veloce.

    • Richiede una chiave API di Google Cloud.

    • È necessaria una connessione HTTPS ai server Google Cloud.

Le impostazioni AI (ad es. 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

È possibile attivare contemporaneamente solo uno dei seguenti indirizzi: google o openai. Se non è configurato né googleopenai, verrà utilizzato automaticamente SKOOR AI.

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 proxy inverso 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 servizio web è in grado di ottenere dati da più backend SKOOR Engine utilizzando il tenantId.

Per configurare backend aggiuntivi, è necessario fornire un file di configurazione eranger-webservice-<tenantId>.cfg separato 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 server web gestisce autonomamente la separazione di queste cartelle.

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