خطوات التثبيت

يصف هذا الدليل كيفية تثبيت حزم RPM باستخدام yum.

يُقصد بهذا الدليل التثبيتي تثبيت SKOOR على نظام جديد. لترقية نظام SKOOR موجود بالفعل، يرجى استخدام دليل الترقية الموجود هنا.

المتطلبات الأساسية

تعطيل SELinux

قبل تثبيت SKOOR Engine، يجب تعطيل SELinux. عرض حالة SELinux:

sestatus

تحقق مما إذا كان الوضع هو enforcing:

SELinux status:                 enabled
...
Current mode:                   enforcing

إذا كان الأمر كذلك، فقم بتغييره على الأقل إلى "تساهلي" أو قم بتعطيله عن طريق تغيير تكوين SELinux:

vi /etc/selinux/config

تغيير التكوين إلى "تساهلي" أو "معطل":

SELINUX=disabled

تنشيط الإعداد والتحقق باستخدام sestatus:

setenforce 0 

السماح باستخدام cron للمستخدمين

إذا كان cron مقيدًا، فيجب السماح للمستخدمين الذين يحتاجهم برنامج SKOOR بالوصول إلى cron عن طريق إضافتهم إلى الملف التالي:

/etc/cron.allow

المستخدمون:

postgres
eranger
reranger

بصمات GPG لمستودع SKOOR:

RPM-GPG-KEY-SKOOR:

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

RPM-GPG-KEY-PGDG:

D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20

RPM-GPG-KEY-TIMESCALEDB:

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

تثبيت محرك SKOOR (خادم واحد)

بالنسبة للأنظمة التي تحتوي على تكرار قاعدة البيانات، يجب تثبيت خادمين منفصلين كما هو موضح في هذا القسم. راجع دليل تكرار قاعدة البيانات لمزيد من خطوات التكوين

تثبيت PostgreSQL

PostgreSQL 17 هو خادم قاعدة البيانات الذي يحتاجه محرك SKOOR. يجب تثبيته قبل برنامج SKOOR:

قم بتثبيت خادم PostgreSQL باستخدام حزمة تثبيت SKOOR PostgreSQL:

dnf install eranger-postgresql

تقوم هذه الحزمة بالخطوات التالية:

  • تثبيت postgresql17-server وtimescaledb-2-postgresql-17 وeranger-database-utils من خلال تبعياتها.

  •  تهيئة مجموعة قواعد البيانات باستخدام initdb

  • ضبط postgresql.conf لـ TimescaleDB

  • تقوم بتهيئة قاعدة بيانات (قاعدة بيانات عادية، بدون مخطط أو بيانات) يمكن استخدامها بواسطة خادم SKOOR

  • يفتح منفذ TCP 5432 على جدار الحماية

تثبيت PgBouncer

يُستخدم PgBouncer كمجمع اتصالات ويقع بين SKOOR وخادم PostgreSQL.

قم بتثبيت PgBouncer باستخدام حزمة تثبيت SKOOR PgBouncer:

dnf install eranger-pgbouncer

تقوم هذه الحزمة بالخطوات التالية:

  • تثبيت pgbouncer من خلال تبعياته.

  • إعادة تكوين PostgreSQL (postgresql.conf)

    • listen_addresses = 'localhost' الاستماع فقط للاتصالات المحلية

    • unix_socket_directories = '/var/run/postgresql-backend' عدم استخدام مقبس UNIX الافتراضي لـ PostgreSQL

    • max_connections = 300 السماح بـ 300 اتصال

  • تكوين PgPool

    • listen_addr = *

    • listen_port = 5432

    • unix_socket_dir = /var/run/postgresql

    • max_client_conn = 300

    • default_pool_size = 60

التثبيت القياسي للخادم

بالنسبة للعملاء الذين يحتاجون فقط إلى مجموعة البرامج الأساسية (أي معظم العملاء)، قم بتشغيل الأمر التالي لتثبيت الحزم المطلوبة:

dnf install eranger-server

تحقق من حزم محرك SKOOR المثبتة:

dnf list installed |grep eranger

النتيجة المتوقعة:

eranger-agent.x86_64                      <version>
eranger-auth.x86_64                       <version>
eranger-collector.x86_64                  <version>
eranger-collector-eem.x86_64              <version>
eranger-collector-mail.x86_64             <version>
eranger-common.x86_64                     <version>
eranger-database-utils.x86_64             <version>
eranger-doc.x86_64                        <version>
eranger-nodejs.x86_64                     <version>
eranger-postgresql.x86_64                 <version>
eranger-pymodules.x86_64                  <version>
eranger-report.x86_64                     <version>
eranger-server.x86_64                     <version>
eranger-syncfs.x86_64                     <version>
eranger-ui.x86_64                         <version>

يقوم SKOOR < 8.1 بتثبيت Google Chrome كأحد المتطلبات. يقوم Google Chrome بتثبيت مستودع YUM لتحديث نفسه إلى الإصدارات الأحدث. ولكن نظرًا لأن SKOOR يحتاج إلى إصدار محدد جدًا، فإننا نحتاج إلى تعطيل هذا المستودع الذي تم إنشاؤه حديثًا. لا يتطلب SKOOR >= 8.1 Google Chrome بعد الآن، وبالتالي لا يتم تثبيت المستودع أيضًا.

sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/google-chrome.repo

تثبيت SKOOR Engine Collector

منذ الإصدار 5.5، هناك خياران للمجمع الخارجي، التثبيت الكامل والتثبيت الأساسي. يأتي التثبيت الأساسي مع مجموعة ميزات محدودة وتبعيات أقل ويمكن توسيعه لاحقًا إلى تثبيت كامل مع حزم إضافية.

التثبيت الكامل لـ Skoor Engine Collector:

لتثبيت SKOOR Engine Collector خارجي، استخدم الأمر التالي للتثبيت الكامل:

dnf install eranger-collector eranger-collector-eem eranger-collector-mail

التثبيت الأساسي لمجمع محرك Skoor:

لتثبيت SKOOR Engine Collector خارجي أساسي، استخدم الأمر التالي:

dnf install eranger-collector

حزم إضافية لمجمع Skoor Engine Collector الأدنى:

لتمكين مهام EEM على المجمع الخارجي، يمكنك تثبيت المكون الإضافي باستخدام الأمر التالي:

dnf install eranger-collector-eem

لتمكين مهام البريد (EWS أو IMAP أو POP3 أو SMTP) على المجمع الخارجي، يمكنك تثبيت المكون الإضافي باستخدام الأمر التالي:

dnf install eranger-collector-mail

الاتصال بمحرك SKOOR

بعد تثبيت مجمع خارجي جديد، يجب تكوين الاتصال بمحرك SKOOR. يوضح القسم التالي الطرق المختلفة لتحقيق ذلك.

عام

بالنسبة لمحرك SKOOR، يعد المجمع نوعًا خاصًا من المستخدمين. لذلك، يجب تكوين كل مجمع خارجي في واجهة المستخدم. قم بإنشاء مستخدم معتمد محليًا بدور "مجمع" في /root /Users /Users وقم بتعيين كلمة مرور.

يتم إجراء التكوين الإضافي في ملف تكوين المجمعات على خادم المجمع: 

/etc/opt/eranger/eranger-collector.cfg

أولاً، يجب تحديد server_id لمحرك SKOOR. على مضيف محرك SKOOR، افتح ملف eranger-server.cfg:

/etc/opt/eranger/eranger-server.cfg

ابحث عن المعلمة server_id في التكوين (إذا كانت معلقة كما في المثال التالي، فإن المعرف هو 1):

#server_id      = 1

إذا كان المجمع الخارجي يرسل قياسات إلى أكثر من محرك SKOOR واحد، فيجب أن تكون المعلمة server_id مختلفة في كل محرك SKOOR.

TCP

هذه هي الطريقة القياسية التي يتواصل بها المجمعون مع محرك SKOOR. الاتصال غير مشفر.

يجب تكوين المعلمات التالية في ملف eranger-collector.cfg:

  • اضبط المعلمة server1_id على القيمة التي تم تكوينها على خادم محرك SKOOR كـ server_id (القيمة الافتراضية هي 1)

  • اضبط المعلمة server1_address على اسم مضيف محرك SKOOR أو عنوان IP (تُستخدم مآخذ unix فقط لأجهزة التجميع المحلية)

  • اضبط server1_user و server1_passwd كما تم تكوينهما في محرك SKOOR

server1_id            = 1
server1_address        = 10.10.10.10
#server1_port           = 50001
#server1_domain         =
server1_user           = collector-user
server1_passwd         = collector-password
#server<server_id>_fetch_parse_dir (server_id instead of index)!
#server1_fetch_parse_dir= /var/opt/run/eranger/collector/tmp

HTTP/HTTPS

يُنصح بعدم استخدام HTTP بدون تشفير. إذا لزم الأمر لسبب ما، يجب تكوين خادم httpd على SKOOR Engine للسماح بهذا النوع من الاتصال أولاً.

لا يمكن تبديل المجمعات التي تستخدم HTTP(S) للاتصال تلقائيًا عند إجراء تجاوز الفشل في إعداد أساسي/احتياطي

يصف القسم التالي كيفية إعداد الاتصال المشفر باستخدام HTTPS. للتشفير، يجب نسخ شهادة CA الجذرية المستخدمة من قبل خادم محرك SKOOR إلى نظام المجمع. يمكن استخدام مسارات Linux القياسية لوضعها في نظام الملفات.

قم بتكوين المعلمات المطلوبة في eranger-collector.cfg:

  • اضبط المعلمة server1_id على القيمة التي تم تكوينها على خادم SKOOR Engine كـ server_id (القيمة الافتراضية هي 1)

  • اضبط المعلمة server1_address على اسم مضيف SKOOR Engine أو عنوان IP في شكل URL كما هو موضح أدناه

  • تأكد من تعليق المعلمة server1_port، وإلا فسوف تتعطل الاتصالات

  • اضبط server1_user و server1_passwd كما تم تكوينهما في SKOOR Engine

  • قم بتكوين server1_ssl_cacert أو server1_ssl_capath على الموقع الذي تم نسخ الشهادة إليه مسبقًا

server1_id            = 1
server1_address        = https://10.10.10.10/skoor-collector
#server1_port           = 50001
#server1_domain         =
server1_user           = collector-user
server1_passwd         = collector-password
#server<server_id>_fetch_parse_dir (server_id instead of index)!
#server1_fetch_parse_dir= /var/opt/run/eranger/collector/tmp
server1_ssl_cacert     = /etc/pki/tls/certs/rootCA.pem

HTTPS مع مصادقة العميل

يجب تمكين مصادقة العميل على محرك SKOOR أولاً. افتح ملف تكوين خادم الويب المعني لهذا الغرض:

/etc/httpd/conf.d/skoor-engine-over-http.conf

قم بإلغاء تعليق توجيه SSLVerifyClient:

<Location "/skoor-collector">
        ExpiresActive On
        ExpiresDefault "now"
        ProxyPass http://localhost:50080 retry=0 connectiontimeout=15 timeout=30
    SSLVerifyClient require
</Location>

أعد تحميل httpd:

systemctl reload httpd

الاسم

الوصف

server1_ssl_cacert

المسار الكامل لشهادة CA الجذرية، سيستخدم المجمع هذا الملف المحدد

server1_ssl_capath

مسار الدليل الذي يحتوي على شهادة CA الجذرية، سيبحث المجمع عن الشهادة الصحيحة

server1_ssl_verify_peer

إذا تم تعيينه على true (الافتراضي)، يتم التحقق من شهادة خادم SKOOR Engine

server1_ssl_verify_host

إذا تم تعيينه على "صحيح" (الافتراضي)، يتم التحقق من اسم مضيف خادم SKOOR Engine

server1_ssl_cert_client_public_key

المفتاح العام المستخدم لمصادقة العميل (شهادة المجمع)

server1_ssl_cert_client_private_key

المفتاح الخاص المستخدم لمصادقة العميل (المفتاح الخاص للمجمع)

server1_ssl_cert_client_private_key_passwd

كلمة المرور لقراءة المفتاح الخاص للمجمع إذا تم تعيينها

ترخيص SKOOR Engine

احصل على ترخيص صالح من SKOOR وأضف الأسطر اللازمة إلى الملف:

/etc/opt/eranger/eranger-server.cfg

مثال مع ترخيص لـ 1000 جهاز:

license_name   = Example customer
license_feature_set = 3.1
license_devices= 1000
license_key    = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxx… يمثل مفتاح الترخيص الفعلي. تأكد من إدخال المفتاح الفعلي في سطر واحد دون وجود أحرف انتقال للسطر بينهما.

تكوين محرك SKOOR

قم بتوسيع متغير PATH للجذر:

~/.bashrc

أضف:

PATH=$PATH:/opt/eranger/bin

ثم قم بتطبيق التغييرات وقم بتشغيل eRanger.sh start لبدء خدمات محرك SKOOR:

. ~/.bashrc
eRanger.sh start

===========================================================================
 Choose command                                 eRanger Version 5.0.0

 Command - Action       - Object                - Current State
===========================================================================

 1       - start        - eRanger Server        - started
 2       - start        - eRanger Collector     - started
 3       - start        - eRanger Report        - started
 4       - start        - eRanger Agent         - started
 a       - start        - all above
 9       - start        - eRanger Webservice    - started
 11      - start        - PostgreSQL            - started
 12      - start        - Rsyslog               - started
 13      - start        - Trapd                 - stopped
 14      - start        - Httpd                 - started
 15      - start        - Smsd                  - stopped
 16      - start        - Postfix               - started

 r       - Switch to restart mode
 S       - Switch to stop mode
 c       - Current eRanger status
 0       - do_exit program

Enter selection:

لا يتم سرد Webservice و IC Alerter و Ethd إلا إذا تم تثبيت الحزمة المقابلة.

أدخل a لبدء تشغيل جميع الخدمات المطلوبة. ثم اخرج باستخدام 0.

تسجيل الدخول إلى SKOOR Engine

الآن يجب أن يكون بإمكانك تسجيل الدخول إلى SKOOR Engine باستخدام متصفح ويب وإدخال اسم المجال الكامل (FQDN) أو عنوان IP الخاص بـ SKOOR Engine في شريط العناوين:

بيانات تسجيل الدخول الافتراضية هي:

اسم المستخدم

admin

كلمة

admin

تثبيت شهادة SSL

بعد التثبيت الافتراضي، سيظهر للمتصفح تحذير بشأن شهادات أمان SSL غير الموثوق بها. يمكنك إما قبول الشهادة الافتراضية الموقعة ذاتيًا أو إنشاء شهادة SSL مخصصة وتثبيتها.

بشكل افتراضي، توجد الشهادات في:

/etc/pki/tls/certs/

يجب تعديل ملف التكوين

/etc/httpd/conf.d/ssl.conf

إلى الشهادات الصحيحة. يبدو أحد الأمثلة على الإدخال كما يلي:

SSLCertificateFile /etc/pki/tls/certs/wildcard_mycompany.ch.crt
SSLCertificateKeyFile /etc/pki/tls/private/private-key_mycompany.ch.key 

أعد تشغيل خادم الويب Apache باستخدام الأمر:

systemctl restart httpd

تعطيل إعادة كتابة https

عند استدعاء http://skoor.company.com، سيقوم خادم الويب بإعادة كتابة العنوان لاستخدام https بدلاً من http. إذا كان سيتم استخدام http فقط، فقم بتعطيل قاعدة إعادة الكتابة في ملف التكوين:

/etc/httpd/conf.d/eranger.conf


قم بتعليق الأسطر الثلاثة التالية (بوضع علامة الهاش في البداية):

# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

أعد تشغيل خادم الويب Apache باستخدام الأمر:

systemctl restart httpd

تحسين SKOOR في البيئات الافتراضية

إذا كنت تقوم بتشغيل محرك SKOOR أو مجمع SKOOR داخل آلة افتراضية، فيجب تكييف مجدول IO لأسباب تتعلق بالأداء. بشكل افتراضي، يتم تثبيت Red Hat < 7 مع مجدول cfq IO. مجدول IO الموصى به لأنظمة Red Hat التي تعمل في آلة افتراضية هو مجدول noop على Red Hat 7 ومجدول none على Red Hat 8 / 9.

بالنسبة لأنظمة Red Hat 7

قم بتشغيل الأوامر التالية لتمكين جدولة noop لنظام قيد التشغيل لجهاز الكتلة sda الذي يتوافق عادةً مع القرص الأول:

# echo noop > /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[noop] anticipatory deadline cfq

تم الآن تعيين جدولة noop كجدولة حالية. قم بتشغيل هذا الأمر لكل قرص افتراضي تم تكوينه للنظام (استبدل sda باسم القرص الافتراضي).
ومع ذلك، لن يستمر الإعداد أعلاه عبر عمليات إعادة التشغيل. استخدم الدليل التالي لتمكين جدولة noop بشكل دائم.

قم بتعيين noop بشكل عام لجميع الأجهزة عن طريق تحرير ملف the file /etc/default/grub كما هو موضح أدناه ثم إعادة إنشاء ملف تكوين grub2:

# vi /etc/default/grub
...
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap"                            (before)
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel00/root rd.lvm.lv=rhel00/swap elevator=noop"              (after)
...

# grub2-mkconfig -o /boot/grub2/grub.cfg                                                                     (on BIOS-based machines)
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg                                                            (on UEFI-based machines)

لأنظمة Red Hat 8 / 9

قم بتشغيل الأوامر التالية لتمكين جدولة noop لنظام قيد التشغيل لجهاز الكتلة sda الذي يتوافق عادةً مع القرص الأول:

# echo none > /sys/block/sda/queue/scheduler
# cat /sys/block/sda/queue/scheduler
[none] mq-deadline kyber bfq

تم الآن تعيين جدولة none كجدولة حالية. قم بتشغيل هذا الأمر لكل قرص افتراضي تم تكوينه للنظام (استبدل sda باسم القرص الافتراضي).
ومع ذلك، لن يستمر الإعداد أعلاه عبر عمليات إعادة التشغيل. استخدم الدليل التالي لتمكين جدولة none بشكل دائم.

قم بتعيين none بشكل عام لجميع الأجهزة عن طريق تحرير ملف the file /etc/default/grub كما هو موضح أدناه ثم إعادة إنشاء ملف تكوين grub2:

# vi /etc/default/grub
...
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rh9-swap rd.lvm.lv=rh9/root rd.lvm.lv=rh9/swap"                            (before)
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rh9-swap rd.lvm.lv=rh9/root rd.lvm.lv=rh9/swap elevator=none"              (after)
...

# grub2-mkconfig -o /boot/grub2/grub.cfg                                                                     (on BIOS-based machines)
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg                                                            (on UEFI-based machines)

إنشاء مستودع yum

 في حالة عدم تمكن مضيفات المجمع البعيدة من الوصول إلى أي مستودعات Red Hat ولكن محرك SKOOR يمكنه ذلك، قد يكون من المفيد إنشاء مستودع برامج بسيط على الخادم يحتوي على جميع ملفات RPM المستخدمة للتثبيت عبر yum. سيكون المستودع متاحًا لمضيفات المجمع عبر المنفذ 443 الذي يعد منفذًا مفتوحًا بالفعل. فيما يلي الخطوات المطلوبة لإعداد مثل هذا المستودع والوصول إليه من مضيف مجمع بعيد:

قم بإنشاء الدليل الجذري للمستودع ونسخ جميع ملفات RPM المطلوبة:

# cd /srv/eranger/html
# mkdir repo
# cp /path/to/*.rpm repo/
# yum install createrepo
# createrepo ./repo

استبدل /path/to/ أعلاه بالمسار الذي تم نسخ ملفات RPM المطلوبة إليه على مضيف محرك SKOOR. سيؤدي ذلك إلى إنشاء دليل فرعي جديد باسم repodata داخل دليل repo.

أضف الآن المستودع كمصدر لتثبيت الحزم على المضيفات البعيدة (مثل مضيف جامع SKOOR Engine):

# vi /etc/yum.repos.d/SKOOR.repo
[SKOOR]
name=SKOOR
baseurl=https://<ip or hostname of repository>/repo/
sslverify=false
gpgcheck=0
enabled=1

تحقق من الوصول إلى المستودع المضاف حديثًا من المضيف البعيد:

# yum clean all
# yum repolist 

الآن يمكن للمضيف البعيد تثبيت البرامج باستخدام مستودع SKOOR كمصدر للحزم. 

إضافة قرص DVD أو CD كمستودع

لتثبيت البرامج من محرك أقراص DVD أو CD RedHat مدرج، أضف مستودعًا جديدًا عن طريق إنشاء الملف التالي: 

vi /etc/yum.repos.d/RHEL_6.5_DVD.repo
[RHEL_6.5_DVD]
name=RHEL_6.5_DVD
baseurl="file:///cdrom/"
gpgcheck=0