بيانات القياس المجمعة

التحضير

إذا كان تجميع البيانات القديم (<=8.1.2) نشطًا، فمن الضروري تعطيل مهمة مزامنة PostgreSQL.

psql -U infosim -d infosim -c "SELECT delete_job((SELECT max(job_id) FROM timescaledb_information.jobs where proc_schema = 'stablenet' AND proc_name = 'update_measurement_data_aggregated'));"

علاوة على ذلك، يُنصح بإزالة الجداول المجمعة القديمة وإعادة هيكلة استعلامات البيانات لاستخدام تلك التي تم إنشاؤها بواسطة مزامنة البيانات الجديدة.

تأكد من صحة الإعدادات في /etc/stablenet-fdw/stablenet-fdw.conf.

المزامنة الأولية

تُستخدم الأوامر التالية لمزامنة بيانات القياس من StableNet/Oracle/MySQL.

يجب تشغيل الأوامر يدويًا في المرة الأولى بترتيب تسلسلي للتأكد من أن كل شيء يعمل بشكل جيد.

عند تشغيل الأوامر لأول مرة، تتم مزامنة بيانات اليوم الحالي فقط. يمكن مزامنة البيانات التاريخية لاحقًا، بعد إعداد المزامنة التلقائية.

لا يلزم استخدام وسيطة server_id إلا إذا تم تكوينها. يجب تنفيذ هذه الأوامر لكل server_id على حدة.

مزامنة القياسات

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/measurement-sync.sh [server_id>]

يقوم هذا الأمر بمزامنة القياسات من StableNet API استنادًا إلى عوامل تصفية العلامات التي تم تكوينها. يتم استخدام هذا لاحقًا في المزامنة التزايدية لمزامنة البيانات الخاصة بالقياسات المطلوبة فقط.

المزامنة التزايدية

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/incremental-sync.sh [server_id>]

يقوم هذا الأمر بمزامنة بيانات القياس الأولية من Oracle/MySQL إلى PostgreSQL. مع كل تشغيل، تتم مزامنة البيانات الجديدة فقط. يتم تخزين البيانات في sn_ping_data وsn_snmp_data وsn_usrscript_data. بالإضافة إلى ذلك، يقوم بتجميع هذه البيانات الأولية في جدول stablenet_measurement_data_minutely الذي يحتوي على value_avg وvalue_min وvalue_max.

المزامنة المجمعة

هذه الخطوة اختيارية ولا تكون مطلوبة إلا إذا كنت بحاجة إلى مجموعات 5 و 15 دقيقة. إذا لم تكن بحاجة إليها، فاستمر في المزامنة كل ساعة بدلاً من ذلك.

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/aggregate-sync.sh [server_id>]

تجميع البيانات الأولية من المزامنة التزايدية في مجموعات مدتها 5 دقائق و 15 دقيقة. يتم تخزين البيانات في stablenet_measurement_data_5_minutely و stablenet_measurement_data_15_minutely. تحتوي الجداول الناتجة على أعمدة value_avg و value_min و value_max للصفوف المجمعة.

مزامنة ساعية مجمعة

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/aggregate-hourly-sync.sh [server_id>]

يجمع البيانات من الجدول stablenet_measurement_data_minutely إلى stablenet_measurement_data_hourly. بينما يحتوي هذا الجدول على value_min و value_max ، فإنه لا يحتوي على value_avg. بدلاً من ذلك، يحتوي على أعمدة إحصائية timescaledb (stats_agg statssummary2d ، percentile_agg uddsketch ، state_agg stateagg ، ). يمكن استخدام هذه الأعمدة لاحقًا للحصول على العديد من المعلومات الإحصائية حول البيانات المجمعة.

يجب تكوين القياسات للحصول على بيانات state_agg في /etc/stablenet-fdw/stablenet-fdw.conf باستخدام خيار snmp_state_agg_measurements. يتم تعريف القياسات بواسطة اسم القالب ومفتاح المقياس. على سبيل المثال

snmp_state_agg_measurements = Interface Relative IPMPLS 64Bit#1008

يمكن فصل أزواج القياسات/مفاتيح المقاييس المتعددة بفاصلة.

قم بتنشيط "state_agg" فقط على القياسات/المقاييس ذات الكاردينالية المنخفضة، أي التي تحتوي على عدد قليل جدًا من القيم المتميزة (على سبيل المثال، التعدادات).

مزامنة الإحصائيات

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/stats-sync.sh [server_id>]

تقوم بتجميع البيانات الإحصائية من stablenet_measurement_data_hourly إلى stablenet_measurement_data_daily وstablenet_measurement_data_weekly وstablenet_measurement_data_monthly وstablenet_measurement_data_quartely وstablenet_measurement_data_yearly.

المزامنة التلقائية

بعد تشغيل أوامر المزامنة يدويًا، نريد إعداد بعض المهام في SKOOR Engine لإجراء المزامنة تلقائيًا.

  1. أنشئ مجموعة تسمى StableNet Data Sync في الجذر

    image-20250627-061619.png
  2. قم بإنشاء جهاز باسم localhost أسفل مجموعة StableNet Data Sync

    image-20250627-061655.png
  3. قم بإنشاء 5 مهام تنفيذ أسفل localhost

    1. StableNet Measurement Sync [server_id]
      الفاصل الزمني: 1 hour, fix, if longer immediately مسار
      البرنامج:/opt/stablenet-fdw/measurement-data-sync/measurement-sync.sh [server_id]
      حفظ المخرجات في ملف: stablenet-measurement-sync.log

    2. StableNet Incremental Sync [server_id]
      الفاصل الزمني: 1 minute, fix, if longer immediately مسار
      البرنامج:/opt/stablenet-fdw/measurement-data-sync/incremental-sync.sh [server_id]
      حفظ الناتج في ملف: stablenet-incremental-sync.log

    3. StableNet Aggregate Sync (اختياري، أضفه فقط إذا كنت بحاجة إلى فترات زمنية مدتها 5 و 15 دقيقة)
      الفاصل الزمني: 1 minute, fix, if longer immediately مسار
      البرنامج:/opt/stablenet-fdw/measurement-data-sync/aggregate-sync.sh [server_id]
      حفظ الناتج في ملف: stablenet-aggregate-sync[-server_id].log

    4. StableNet Aggregate Hourly Sync
      الفاصل الزمني: 10 minutes, fix, if longer immediately مسار
      البرنامج:/opt/stablenet-fdw/measurement-data-sync/aggregate-hourly-sync.sh [server_id]
      حفظ الناتج في ملف: stablenet-aggregate-hourly-sync[-server_id].log

    5. StableNet Stats Sync
      الفاصل الزمني: 1 hour, fix, if longer immediately مسار
      البرنامج:/opt/stablenet-fdw/measurement-data-sync/stats-sync.sh [server_id]
      حفظ الناتج في ملف: stablenet-stats-sync[-server_id].log

مزامنة السجل

قم بتشغيل هذا الأمر بعد المزامنة الأولية وبعد إعداد المزامنة التلقائية.

sudo -u eranger /opt/stablenet-fdw/measurement-data-sync/history-sync.sh [server_id>]

يقوم هذا الأمر بمزامنة البيانات التاريخية بناءً على [history_sync] days و start_date و end_date config. عادةً، بالنسبة للمزامنة الأولية للتاريخ، قد ترغب فقط في تعيين days أو الاحتفاظ بالإعدادات كما هي ومزامنة سنة واحدة فقط.

قد يكون من الجيد أيضًا استخدام nohup لتشغيل الأمر، حيث قد يستغرق إكماله بعض الوقت.