تكوين خدمة الويب SKOOR

بدء الخدمة / إيقافها / إعادة تشغيلها / حالتها

تم تكوين خدمة eRanger Webservice كخدمة Linux ويمكن إدارتها باستخدام الأوامر ذات الصلة:

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

التكوين

بخلاف ذلك، يجب أن يعمل التكوين القياسي بشكل فوري دون أي تغييرات.

يمكن إجراء التغييرات التالية إذا لزم الأمر:

CORS (مشاركة الموارد عبر الأصول)

إذا كان من الضروري استخدام خدمة الويب من قبل تطبيق على أصل مختلف، فيجب إدراج هذا الأصل في قائمة بيضاء على شكل قائمة مفصولة بفواصل.

# cors.allowed.origins=

لا تحتاج إلى إضافة عنوان URL حيث يوجد SKOOR أو SKOOR Viewer. الطلبات من نفس المصدر مسموح بها بالفعل بشكل افتراضي.

مزودي الذكاء الاصطناعي

يتم استخدام مزودي الذكاء الاصطناعي بشكل أساسي لتوليد كود من اللغة الطبيعية. أحد الأمثلة على ذلك هو ميزة Text2SQL لاستعلامات البيانات.

يدعم SKOOR حاليًا المزودين التاليين:

  • SKOOR AI

    • تديره SKOOR، ولا حاجة لمشاركة أي بيانات مع مزودي خدمات آخرين.

    • جيد كنقطة انطلاق.

    • يوفر دقة وأداء أساسيين.

    • يتطلب اتصال HTTPS بـ ai.skoor.com.

    • مُعد مسبقًا في كل تثبيت SKOOR.

  • OpenAI

    • ربما يكون المزود الأكثر تقدمًا.

    • يتطلب اشتراكًا في واجهة برمجة التطبيقات (API) من OpenAI.

    • يلزم اتصال HTTPS بخوادم OpenAI API.

  • Google Gemini

    • دقة مماثلة لـ OpenAI.

    • سريع نسبيًا.

    • يتطلب مفتاح API من Google Cloud.

    • يلزم اتصال HTTPS بخوادم Google Cloud.

يمكن تكوين إعدادات الذكاء الاصطناعي (مثل مفاتيح API) في /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

يمكن تنشيط واحد فقط من google أو openai في نفس الوقت. إذا لم يتم تكوين google أو openai، فسيتم استخدام SKOOR AI تلقائيًا.

منفذ Tomcat

إذا كان المنفذ القياسي 8090 غير متاح، فيمكن تغييره في الملف "/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

يجب تكوين نفس المنفذ في تكوين البروكسي العكسي في "/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

في التكوين الافتراضي، يتم كتابة ملف PID إلى "/var/opt/run/eranger".

إذا كنت تفضل مسارًا مختلفًا، فيمكن تكوينه في الملف "/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

تعدد المستأجرين

يمكن لخدمة الويب الحصول على البيانات من عدة خلفيات SKOOR Engine باستخدام tenantId.

لتكوين خلفيات إضافية، يجب توفير ملف تكوين eranger-webservice-<tenantId>.cfg منفصل في المجلد /etc/opt/eranger. هذا الملف هو في الأساس نسخة من ملف eranger-webservice.cfg الافتراضي مع عنوان eranger خاص بالمستأجر.

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

لا يتعين عليك تغيير files.root أو reports.root. يتولى خادم الويب فصل هذه المجلدات بنفسه.

بعد حفظ التكوين، يجب أن تتمكن من استرداد البيانات من محرك SKOOR المكون عن طريق توفير رأس طلب HTTP X-Tenant-Id أو معلمة URL tenantId.