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

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

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

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

تعطيل SELinux

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

sestatus

تحقق مما إذا كان الوضع قيد التنفيذ:

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 95b8 11d4 71e4 71e5 d043 efa3 efa3 69e1 147c 2cb4 0f3a

rpm-gpg-key-pgdg:

68C9 E2B9 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8

rpm-gpg-key-timescaledb:

1005 FB68 604C 604C E9B8 F687 9CF7 59F7 59F1 8EDF 47F2 4417

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

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

تثبيت PostgreSQL

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

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

dnf install eranger-postgresql

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

  • تثبيت postgresql13-server ، timescaledb-2-postgresql-13 ، 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' عدم استخدام مقبس PostgreSQL UNIX الافتراضي

    • 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 Engine المثبتة:

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 Engine

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

التثبيت الكامل لمُجمِّع محرك سكوور إنجنر:

لتثبيت مُجمِّع محرك SKOOR الخارجي استخدم الأمر التالي للتثبيت الكامل:

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

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

لتثبيت مُجمِّع محرك SKOOR الخارجي الأساسي استخدم الأمر التالي:

dnf install eranger-collector

الحزم الإضافية لـ مجمع محرك سكور الأساسي:

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

dnf install eranger-collector-eem

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

dnf install eranger-collector-mail

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

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

عام

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

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

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

أولاً، يجب تحديد معرف خادم_المحرك SKOOR Engine. على مضيف SKOOR Engine، افتح ملف 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 الخاص بمحرك SKOOR (يتم استخدام مآخذ 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 للسماح بهذا النوع من الاتصال أولاً.

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

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

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

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

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

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

  • قم بتعيين Server1_user و server1_passwd كما تم تكوينهما في محرك SKOOR

  • قم بتكوين إما 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

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

server1_ssl_verify_peer

في حالة التعيين على صواب (افتراضي)، يتم التحقق من شهادة خادم 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

الحصول على ترخيص صالح من 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

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

~/.bashrc

إضافة:

PATH=$PATH:/opt/eranger/bin

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

. ~/.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

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

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

اسم المستخدم

admin

كلمة المرور

admin

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

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

/etc/pki/tls/certs/

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

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

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

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

عند استدعاء 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 باستخدام الأمر:

eRanger.sh restart httpd

أو:

systemctl restart httpd

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

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

بالنسبة لأنظمة ريد هات 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)

لأنظمة ريد هات 8/9

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

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

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

قم بتعيين لا شيء على مستوى العالم لجميع الأجهزة عن طريق التحرير 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

في حال لم يكن لدى مضيفي المُجمِّع البعيد إمكانية الوصول إلى أي مستودعات ريد هات ولكن محرك 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 Engine. سيؤدي هذا إلى إنشاء دليل فرعي جديد باسم repodata داخل دليل الريبو.

أضف الآن المستودع كمصدر لتثبيت الحزمة على المضيفين البعيدين (على سبيل المثال مضيف مجمع 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 أو قرص مضغوط كمستودع

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

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