تحديث البرنامج

SKOOR 9.0: نظرًا لأن SKOOR 9.0 يقوم بترقية PostgreSQL من الإصدار 13 إلى الإصدار 17، فإن الأمر يتطلب اتخاذ بعض الخطوات الإضافية كما هو موضح هنا.

SKOOR 8.1: يجب فحص مهام Selenium التي تستخدم لغة Python. لتجنب تسرب الموارد، تتم معالجة عملية driver.quit() في جميع الأحوال كما هو موضح هنا

يرجى اتباع أي تعليمات من فريق دعم SKOOR قبل إجراء التحديث. قد تكون هناك خطوات تحضيرية إلزامية قد تؤدي إلى حدوث أخطاء في حالة تجاهلها

بشكل عام، يعد تحديث حزم SKOOR Engine و/أو Collector المثبتة مسبقًا من المستودع أمرًا بسيطًا للغاية:

تحديث مستودع SKOOR

هذه الخطوة ضرورية للحصول على أحدث تكوينات المستودع.

dnf clean all
dnf update skoor-repo
dnf clean all

تحديث جميع مكونات SKOOR

إذا كنت ترغب فقط في التحديث إلى أحدث إصدار تصحيحي لإصدار رئيسي معين (مثل 8)، فاستخدم

dnf update "eranger-*-8.*"

وإلا فاستخدم

dnf update "eranger-*"

الإجراء المقترح

يمكن استخدام الإجراء التالي كقائمة مرجعية للتحديث القياسي للبرنامج:

  1. مراجعة مستودعات rpm المطلوبة واشتراكات Redhat

  2. تحقق من توفر النسخ الاحتياطية الكاملة ونسخ التكوين. ومع ذلك، يُنصح دائمًا بعمل نسخة احتياطية كاملة قبل التحديث

  3. تدوين الحالة العامة للنظام أو التقاط لقطة شاشة لشريط الحالة الموجود أسفل واجهة مستخدم محرك SKOOR

  4. قم بتعيين الصيانة الشاملة على جميع المجمعات المتعلقة بالتحديث (يمكن ترك المجمعات الخارجية دون تغيير أو تحديثها لاحقًا)

  5. على الأنظمة المكررة (الأساسية/الاحتياطية):

    1. تحقق من حالة النسخ المتماثل واتخذ الإجراءات اللازمة إذا كانت الحالة غير سليمة

    2. أوقف النسخ المتماثل

    3. قم بتحديث الخادم الاحتياطي

  6. قم بتحديث الخادم (الأساسي)

  7. ابدأ النسخ المتماثل إذا لم يكن قيد التشغيل

  8. تحديث المجمعات الخارجية إذا تم تكوينها

  9. تحديث عارض لوحة المعلومات إذا تم تكوينه

  10. التحقق من وجود ملفات تكوين جديدة تنتهي بـ .rpmnew ودمج المحتوى مع الملفات الأصلية إذا لزم
    الأمر يمكن القيام بذلك باستخدام:
    rpmconf -a

  11. التحقق

    1. الحالة العامة للنظام هي نفسها كما كانت من قبل أو يمكن تفسير الاختلافات

    2. النسخ المتماثل يعمل كما كان من قبل

    3. يمكن الوصول إلى لوحات المعلومات / عارض لوحة المعلومات

    4. يتم إرسال التنبيهات (البريد الإلكتروني، الرسائل القصيرة، إلخ)

  12. إنهاء الصيانة

  13. إنشاء نسخة احتياطية كاملة جديدة

الاحتياطات

تنطبق المعلومات التالية على التثبيت القياسي لبرنامج SKOOR. يجب مراعاة الإعدادات المخصصة

المسار القياسي للنسخ الاحتياطية:

/opt/eranger/server/backups

تشغيل النسخ الاحتياطي الكامل:

cd /var/lib/pgsql
sudo -u postgres /opt/eranger/bin/eranger-server-backup.sh full

تعيين الصيانة الشاملة على جميع المجمعات المتعلقة بالتحديث في /root /Collectors

تحقق من حالة النسخ المتماثل وأوقف وضع الاستعداد:

/opt/eranger/bin/eranger-server-replication.pl status
<standby-ip>
<standby-ip> checking ssh for user reranger
<primary-ip> is running
Last read on master(<primary-ip>) 0 seconds ago
/opt/eranger/bin/eranger-server-replication.pl stopstandby

بصمات GPG:

RPM-GPG-KEY-SKOOR:

0C18 95B8 11D4 71E5 D043 EFA3 69E1 147C 2CB4 0F3A

RPM-GPG-KEY-PGDG:

68c9 e2b9 1a37 d136 fe74 d176 1f16 d2e1 442d f0f8

RPM-GPG-KEY-TIMESCALEDB:

1005 fb68 604c e9b8 f687 9cf7 59f1 8edf 47f2 4417

التحديث إلى SKOOR 9.0

يرجى التأكد من عدم وجود أي روابط من داخل /var/lib/pgsql/13/data إلى مواقع خارج /var/lib/pgsql لأن ذلك قد يتسبب في مشاكل أثناء الترقية. تأكد أيضًا من عدم وجود نقاط تثبيت لأجهزة أخرى داخل /var/lib/pgsql.

  • يلزم وجود إصدار محدث من skoor-repo (9.0).
    قم بتثبيته باستخدام:

    dnf clean all
    dnf update skoor-repo
  • إذا كان النسخ المتماثل قيد التشغيل، فيجب إيقافه قبل إجراء الترقية

    /opt/eranger/bin/eranger-server-replication.pl stopstandby

قم بترقية النسخة الاحتياطية أولاً (دون تشغيل البرنامج النصي update-postgresql)، ثم قم بترقية النسخة الأساسية وقم بإجراء createstandby.

  • يجب إجراء التحديث باستخدام تحديث كامل، وليس فقط dnf update “eranger-*” أو ما شابه.

    dnf clean all
    dnf update
  • بعد تنفيذ الأمر dnf update، قم بتشغيل الأمر /opt/eranger/database-utils/bin/upgrade-postgresql.

    /opt/eranger/database-utils/bin/upgrade-postgresql

يؤدي هذا إلى ترقية مجموعة PostgreSQL 13 إلى مجموعة PostgreSQL 17.

  • بعد تنفيذ الأمر `/opt/eranger/database-utils/bin/upgrade-postgresql`، يجب تحليل المجموعة الجديدة باستخدام

    su postgres -c "/usr/pgsql-17/bin/vacuumdb --all --analyze-in-stages"

هذه الخطوة مهمة جدًا. لا تتخطاها. يمكن بالفعل استخدام النظام أثناء التشغيل.

  • إذا كان كل شيء يعمل كما هو متوقع، فيمكن إزالة المجموعة القديمة باستخدام

     /var/lib/pgsql/delete_old_cluster.sh

التحديث إلى SKOOR 8.1

يجب تعديل مهام Selenium عند استخدام نصوص Python. من المهم أن تتم معالجة العملية driver.quit() في جميع الأحوال. وإلا سيحدث تسرب في الموارد!

يتم توفير حزمة RPM جديدة باسم eranger-python مع هذا الإصدار، وهي مخصصة بشكل أساسي للبرامج النصية في SKOOR Studio. يُنصح باستخدام بيئة Python هذه أيضًا مع البرامج النصية القديمة الخاصة بالاستيراد.

التحديث إلى SKOOR 7.2

يستخدم كل مجمع بيانات SKOOR دليلًا واحدًا على الأقل لتخزين ملفات القياس المؤقتة. مع SKOOR 7.2، سيتم تنظيف جميع الدلائل المؤقتة للمجمعات بانتظام:

  • يتم حذف الملفات التي يزيد عمرها عن 72 ساعة

  • يتم حذف الدلائل الفارغة التي يزيد عمرها عن 24 ساعة

نظرًا لأن جهاز التجميع يرسل جميع بيانات القياس إلى الخادم بعد كل عملية تشغيل، فلا داعي للاحتفاظ بهذه الملفات لفترة أطول في دليل الملفات المؤقتة. ومع ذلك، إذا تم إنشاء ملفات مثل البرامج النصية أو البيانات الدائمة الأخرى في أحد هذه الدلائل، فيجب نقلها إلى موقع آخر قبل الترقية إلى الإصدار 7.2.

استخدم الأمر التالي للحصول على قائمة بالدلائل المؤقتة لأجهزة التجميع (يجب تشغيله على الجهاز المحلي وكذلك على جميع أجهزة التجميع الخارجية):

grep -oP "server\\d+_fetch_parse_dir\\s*=\\s*/var/opt/run/eranger/collector/.+" /etc/opt/eranger/eranger-collector.cfg | perl -pe 's/server\d+_fetch_parse_dir\s*=\s*//g'

يرجى التأكد من أنه يمكن مسح جميع الملفات الموجودة في هذه الدلائل بأمان.

التحديث إلى SKOOR 7.0

تم استبدال حزمة RPM sdaas-webservice بالحزمة الجديدة eranger-etl المتوفرة أيضًا في مستودع RPM الخاص بـ SKOOR.

يرجى تثبيت eranger-etl بعد الترقية إلى الإصدار 7.0 (يجب السماح بمسح sdaas-webservice لتجنب حدوث تعارض):

yum remove sdaas-webservice && yum install eranger-etl