أداة تغليف البيانات الخارجية StableNet® StableNet®
المتطلبات الأساسية
يلزم وجود قاعدة بيانات PostgreSQL مع مستخدم مسموح له بتعديل كائنات قاعدة البيانات. يجب تثبيت أداة تجميع البيانات الخارجية على نفس مثيل الخادم الذي يعمل عليه خادم قاعدة البيانات.
مثال: إنشاء قاعدة بيانات infosim مملوكة من قبل الدور infosim:
export DB_NAME=infosim
mkdir -p /var/lib/pgsql/custom/user_tblspc/${DB_NAME}_tblspc/tab_space/${DB_NAME} \ /var/lib/pgsql/custom/user_tblspc/${DB_NAME}_tblspc/idx_space/${DB_NAME} && \ chown -R postgres:postgres /var/lib/pgsql/custom/user_tblspc
psql -Upostgres -c "CREATE ROLE $DB_NAME WITH LOGIN PASSWORD '$DB_NAME';"
psql -Upostgres -c "CREATE TABLESPACE ${DB_NAME}_tab OWNER $DB_NAME \ LOCATION '/var/lib/pgsql/custom/user_tblspc/${DB_NAME}_tblspc/tab_space/$DB_NAME';"
psql -Upostgres -c "CREATE TABLESPACE ${DB_NAME}_idx OWNER $DB_NAME \ LOCATION '/var/lib/pgsql/custom/user_tblspc/${DB_NAME}_tblspc/idx_space/$DB_NAME';"
psql -Upostgres -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_NAME TEMPLATE template0 \ TABLESPACE ${DB_NAME}_tab ENCODING 'UTF8' LC_COLLATE 'de_CH.UTF-8' LC_CTYPE 'de_CH.UTF-8';"
التثبيت القياسي
تثبيت RPM من SKOOR Repo
dnf install eranger-stablenet-fdw
التكوين
ملف التكوين
/etc/stablenet-fdw/stablenet-fdw.conf
[global] accept_insecure_certificate = false # Accept insecure certificates # (self-signed, expired, etc.) # when connecting to the web service default_user = # Default user name for the web service. # This is used in case no authorization # is provided by the SQL client. default_password = # Default password for the web service. # This is used in case no authorization # is provided by the SQL client. skoor_auth_url = http://localhost:8094 # URL of the SKOOR web service # (default: http://localhost:8094) # This is used to get the StableNet® # auth tokens. [webservice] url = # URL of StableNet® the web service #[webservice_<server_id>] # Optional, if multiple StableNet® servers # are used. Replace <server_id> with a unique # identifier for the StableNet® server. # Only alphanumeric lower case characters are allowed. # Please note, that every webservice section # must have a unique identifier if multiple # StableNet® servers are used. #server_name = # Unique name of the connected StableNet® # server. This should be a human readable # name, not a technical identifier. # Defaults to server_id if omitted. #url = # URL of the StableNet® the web service
يمكن أيضًا توفير الخيارات عن طريق متغيرات البيئة باستخدام البادئة STABLENET_FDW_WEBSERVICE_
واسم الخيار بالأحرف الكبيرة (على سبيل المثال STABLENET_FDW_WEBSERVICE_URL
). بالنسبة لإعدادات global
، يجب حذف GLOBAL
من مفتاح ENV (على سبيل المثال STABLENET_FDW_DEFAULT_USER
).
url
هو URl الأساسي لخدمة الويب StableNet® API. وعادةً ما يكون على الشكل https://<host>:5443/api/1
.
يمكن تعريف مثيلات StableNet® متعددة باستخدام أقسام متعددة webservice
مع لاحقات server_id
فريدة من نوعها. يتم استخدام server_id
كمعرف داخلي للحصول على سلسلة التفويض المطابقة من SKOOR Auth على سبيل المثال. يجب تعيين server_name
المناسب الذي يستخدم لتحديد الخادم في الجداول الخارجية والمجمعة. يمكن أيضًا تكوين ذلك باستخدام متغيرات البيئة (على سبيل المثال STABLENET_FDW_WEBSERVICE_URL_TEST
، STABLENET_FDW_WEBSERVICE_SERVER_NAME_TEST
).
بعد تغيير التهيئة، يجب إعادة تشغيل خادم PostgreSQL.
systemctl restart postgresql-13
تهيئة الجداول الخارجية
تهيئة الجداول الخارجية التي يحتاجها مجمع البيانات الخارجية.
/opt/stablenet-fdw/init-foreign-tables.sh -h <host> -p <port> -d <database> -U <user> -o <owner>
على سبيل المثال
/opt/stablenet-fdw/init-foreign-tables.sh -U postgres -h localhost -p 5432 -d infosim -o infosim
يجب تنفيذ هذا الأمر بعد كل تحديث لـ eranger-stablenet-fdw
للحصول على تعريفات جداول جديدة.
اختبار الاتصال
psql -h localhost -p 5432 -U infosim -d infosim -c "SELECT * from stablenet.stablenet_info;"
يجب أن يُرجع هذا الأمر عدد الأجهزة في مثيل StableNet® المتصل.
تجميع البيانات
تهيئة البيانات المجمعة
تهيئة المقياس الزمني المفرط اللازم للبيانات المترية المجمعة.
/opt/stablenet-fdw/init-aggregated-data.sh -h <host> -p <port> -d <database> -U <user> -o <owner> \ -i <interval> [-m <metric_keys>] [-f <tag_filter>] [-r <retention>]
-m
قائمة مفصولة بفواصل بمفاتيح القياس للتجميع المسبق. يمكن حذفها لتحميل البيانات مسبقًا لجميع المقاييس، ولكن قد يستغرق ذلك وقتًا طويلاً جدًا. على سبيل المثال "SNMP_1,SNMP_2,SNMP_3"
-i
الفاصل الزمني للتحميل المسبق للبيانات على سبيل المثال 6 months
، 1 week
, 5 days
-f
عامل تصفية العلامات لتصفية القياسات على سبيل المثال "'Device Domain' eq 'Test'"
-r
سياسة الاحتفاظ بالبيانات، على سبيل المثال "1 year"
تهيئة تحديث البيانات المجمعة
إنشاء مهمة TimescaleDB لتحديث البيانات المجمعة بشكل دوري لمقاييس معينة
/opt/stablenet-fdw/init-aggregated-data-refresher.sh -h <host> -p <port> -d <database> -U <user> -o <owner> \ [-m <metric_keys>][-f <tag_filter>]
-m
قائمة مفصولة بفواصل لمفاتيح المقاييس المراد تجميعها. يمكن حذفها لتحديث البيانات لجميع المقاييس. على سبيل المثال "SNMP_1,SNMP_2,SNMP_3"
-f
عامل تصفية العلامات لتصفية القياسات على سبيل المثال "'Device Domain' eq 'Test'"
إضافة/إزالة المقاييس
تثبيت Docker Compose
التكوين
قم بإضافة متغيرات البيئة التالية إلى قسم بيئة خدمات eranger-postgresql في SKOOR docker-compose.yaml وقم بتعيين المتغير STABLENET_FDW_WEBSERVICE_URL
إلى عنوان URL صالح لمضيف StableNet:
- STABLENET_FDW_WEBSERVICE_URL=https://<StableNet host>:5443/api/1 - STABLENET_FDW_ACCEPT_INSECURE_CERTIFICATE=false - STABLENET_FDW_DEFAULT_USER=myuser - STABLENET_FDW_DEFAULT_PASSWORD=mypass - STABLENET_FDW_SKOOR_AUTH_URL=http://eranger-auth-${INSTANCE_NAME}:8094
تكوين حاوية خدمة الويب
يجب أن تكون خدمة الويب قادرة على التواصل مع مكون eranger-auth لمصادقة الطلبات إلى StableNet. في قسم خدمة eranger-webservice، أضف متغير البيئة التالي:
- SKOOR_WEBSERVICE_auth_service_url=http://eranger-auth-${INSTANCE_NAME}:8094
تهيئة الجداول الخارجية
في الحاوية قيد التشغيل، قم بتشغيل البرنامج النصي init-database.sh لإسقاط مخطط stablenet وإعادة إنشائه (تنبيه: يتم إسقاط جميع الكائنات في المخطط!).
مثال مع قاعدة بيانات العميل المسماة infosim مع المستخدم infosim (اضبط المتغير PGSQL_CONTAINER على اسم حاوية eranger-postgresql):
export PGSQL_CONTAINER=eranger-postgresql-<instance>
docker exec $PGSQL_CONTAINER /opt/stablenet-fdw/init-foreign-tables.sh -h localhost \ -p 5432 -d infosim -U postgres -o infosim
قم بتشغيل استعلام بيانات في لوحة التحكم للتحقق من مجمع البيانات الخارجية:
SELECT * from stablenet.stablenet_info
تجميع البيانات
تهيئة البيانات المجمعة
يقوم بتهيئة المقياس الزمني المفرط اللازم للبيانات المترية المجمعة.
docker exec $PGSQL_CONTAINER /opt/stablenet-fdw/init-aggregated-data.sh -h localhost \ -p 5432 -d infosim -U postgres -o infosim -i <interval> [-m <metric_keys>] [-f <tag_filter>] [-r <retention>]
-m
قائمة مفصولة بفواصل بمفاتيح القياس للتجميع المسبق. يمكن حذفها للتحميل المسبق للبيانات لجميع المقاييس، ولكن قد يستغرق ذلك وقتًا طويلاً جدًا.
-i
الفاصل الزمني للتحميل المسبق للبيانات. على سبيل المثال 6 months
، 1 week
, 5 days
-f
عامل تصفية العلامات لتصفية القياسات على سبيل المثال "'Device Domain' eq 'Test'"
-r
سياسة الاحتفاظ بالبيانات، على سبيل المثال "1 year"
تهيئة تحديث البيانات المجمعة
إنشاء مهمة TimescaleDB لتحديث البيانات المجمعة بشكل دوري لمقاييس معينة
docker exec $PGSQL_CONTAINER /opt/stablenet-fdw/init-aggregated-data-refresher.sh -h localhost \ -p 5432 -d infosim -U postgres -o infosim [-m <metric_keys>] [-f <tag_filter>]
-m
قائمة مفصولة بفواصل لمفاتيح المقاييس المراد تجميعها. يمكن حذفها لتحديث البيانات لجميع المقاييس. على سبيل المثال "SNMP_1,SNMP_2,SNMP_3"
-f
عامل تصفية العلامات لتصفية القياسات على سبيل المثال "'Device Domain' eq 'Test'"
الدمج في SKOOR
يمكن دمج StabeleNet FDW من خلال إنشاء مصدر بيانات جديد في قسم البيانات والكائنات.
بعد الحفظ، يجب أن يتحول المصباح الضوئي في التنقل إلى اللون الأخضر.
يمكن فحص الجداول الخارجية في علامة تبويب البيانات .
بينما يمكن معاينة بعض الجداول الخارجية على الفور (على سبيل المثال stablenet_taggable_device
)، يحتاج البعض الآخر إلى بعض المؤهلات الإلزامية ولا يمكن معاينتها. انظر الجدول أدناه لمعرفة المؤهلات الإلزامية.
الجداول الخارجية
الاسم | الحقول | المؤهلات |
---|---|---|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
على الرغم من أن measurement_id
و metric_key
اختياريان، إلا أنه لا يوصى بتنفيذ الاستعلامات بدونهما. يؤدي القيام بذلك إلى قراءة بيانات القياس لجميع القياسات وجميع المقاييس التي قد تستغرق وقتًا طويلاً لقراءتها وتضع بعض الأحمال الثقيلة على خادم StableNet. يُنصح به فقط للنطاقات الزمنية القصيرة جدًا < 1 ساعة. إذا كانت هناك حاجة إلى قياسات ومقاييس متعددة، فيجب استخدام الجدول stablenet_measurement_data_aggregated
.
بيانات القياس المجمعة
مجمعة حسب الساعة، ويتم تحديثها تلقائيًا كل ساعة. يمكن استخدامه لإجراء استعلامات تحليلية على نطاق واسع من القياسات وعلى نطاقات زمنية كبيرة.
هو في الأساس مقياس زمني مفرط(https://docs.timescale.com/ ). حجم القطع هو 7 أيام، ويتم ضغط القطع بعد 7 أيام.
الاسم | الحقول |
---|---|
|
|
stablenet_measurement_data_aggregated
يحتوي فقط على بيانات مفاتيح القياس المكوّنة.