انتقل إلى المحتوى

مراقبة إشعارات WIS2

نتائج التعلم

بنهاية هذه الجلسة العملية، ستكون قادرًا على:

  • تشغيل سير عمل wis2box عن طريق تحميل البيانات في MinIO باستخدام الأمر wis2box data ingest
  • مشاهدة التحذيرات والأخطاء المعروضة في لوحة تحكم Grafana
  • التحقق من محتوى البيانات المنشورة

المقدمة

تستخدم لوحة تحكم Grafana بيانات من Prometheus و Loki لعرض حالة wis2box الخاص بك. يخزن Prometheus البيانات الزمنية من المقاييس المجمعة، بينما يخزن Loki السجلات من الحاويات التي تعمل على نسخة wis2box الخاصة بك. تسمح لك هذه البيانات بالتحقق من كمية البيانات المستلمة على MinIO وعدد إشعارات WIS2 المنشورة، وما إذا كانت هناك أية أخطاء مكتشفة في السجلات.

لرؤية محتوى إشعارات WIS2 التي يتم نشرها على مواضيع مختلفة من wis2box الخاص بك، يمكنك استخدام علامة التبويب 'Monitor' في wis2box-webapp.

التحضير

سيستخدم هذا القسم مجموعة البيانات "surface-based-observations/synop" التي تم إنشاؤها مسبقًا في جلسة تكوين مجموعات البيانات في wis2box.

قم بتسجيل الدخول إلى جهاز الطالب الافتراضي الخاص بك باستخدام عميل SSH (PuTTY أو غيره).

تأكد من أن wis2box يعمل:

cd ~/wis2box-1.0.0rc1/
python3 wis2box-ctl.py start
python3 wis2box-ctl.py status

تأكد من أن لديك MQTT Explorer قيد التشغيل ومتصل بنسختك باستخدام بيانات الاعتماد العامة everyone/everyone مع اشتراك في الموضوع origin/a/wis2/#.

تأكد من أن لديك وصولاً إلى واجهة الويب MinIO بالانتقال إلى http://<your-host>:9000 وأنك قد سجلت الدخول (باستخدام WIS2BOX_STORAGE_USERNAME و WIS2BOX_STORAGE_PASSWORD من ملف wis2box.env الخاص بك).

تأكد من أن لديك متصفح ويب مفتوح مع لوحة تحكم Grafana لنسختك بالانتقال إلى http://<your-host>:3000.

إدخال بعض البيانات

يرجى تنفيذ الأوامر التالية من جلسة عميل SSH الخاصة بك:

انسخ ملف البيانات النموذجي aws-example.csv إلى الدليل الذي حددته كـ WI2BOX_HOST_DATADIR في ملف wis2box.env الخاص بك.

cp ~/exercise-materials/monitoring-exercises/aws-example.csv ~/wis2box-data/

تأكد من أنك في دليل wis2box-1.0.0rc1 وقم بتسجيل الدخول إلى حاوية wis2box-management:

cd ~/wis2box-1.0.0rc1
python3 wis2box-ctl.py login

تحقق من توفر البيانات النموذجية في الدليل /data/wis2box/ داخل حاوية wis2box-management:

ls -lh /data/wis2box/aws-example.csv

Note

يتم تركيب WIS2BOX_HOST_DATADIR كـ /data/wis2box/ داخل حاوية إدارة wis2box بواسطة ملف docker-compose.yml المضمن في دليل wis2box-1.0.0rc1.

هذا يسمح لك بمشاركة البيانات بين الخادم والحاوية.

تمرين 1: إدخال البيانات باستخدام wis2box data ingest

نفذ الأمر التالي لإدخال ملف البيانات النموذجي aws-example.csv إلى نسخة wis2box الخاصة بك:

wis2box data ingest -p /data/wis2box/aws-example.csv --metadata-id urn:wmo:md:not-my-centre:core.surface-based-observations.synop

هل تم إدخال البيانات بنجاح؟ إذا لم يكن كذلك، ما هي رسالة الخطأ وكيف يمكنك إصلاحها؟

انقر لكشف الإجابة

سترى الإخراج التالي:

Error: metadata_id=urn:wmo:md:not-my-centre:core.surface-based-observations.synop not found in data mappings

تشير رسالة الخطأ إلى أن المعرف الوصفي الذي قدمته لا يتطابق مع أي من مجموعات البيانات التي قمت بتكوينها في نسخة wis2box الخاصة بك.

قدم المعرف الوصفي الصحيح الذي يتطابق مع مجموعة البيانات التي أنشأتها في الجلسة العملية السابقة وكرر أمر إدخال البيانات حتى يجب أن ترى الإخراج التالي:

Processing /data/wis2box/aws-example.csv
Done

انتقل إلى وحدة تحكم MinIO في متصفحك وتحقق مما إذا تم تحميل ملف aws-example.csv في دلو wis2box-incoming. يجب أن ترى دليلًا جديدًا باسم مجموعة البيانات التي قدمتها في خيار --metadata-id:

minio-wis2box-incoming-dataset-folder

Note

قام الأمر wis2box data ingest بتحميل الملف إلى دلو wis2box-incoming في MinIO في دليل يحمل اسم المعرف الوصفي الذي قدمته.

انتقل إلى لوحة تحكم Grafana في متصفحك وتحقق من حالة إدخال البيانات.

تمرين 2: التحقق من حالة إدخال البيانات

انتقل إلى لوحة تحكم Grafana في متصفحك وتحقق من حالة إدخال البيانات.

هل تم إدخال البيانات بنجاح؟

انقر لكشف الإجابة

تقارير اللوحة في أسفل لوحة تحكم Grafana الرئيسية التحذيرات التالية:

WARNING - input=aws-example.csv warning=Station 0-20000-0-60355 not in station list; skipping WARNING - input=aws-example.csv warning=Station 0-20000-0-60360 not in station list; skipping

تشير هذه التحذيرات إلى أن المحطات ليست معرفة في قائمة المحطات الخاصة بـ wis2box. لن يتم نشر أية إشعارات WIS2 لهذه المحطة حتى تقوم بإضافتها إلى قائمة المحطات وربطها بموضوع مجموعة البيانات الخاصة بك.

تمرين 3: إضافة المحطات التجريبية وتكرار إدخال البيانات

أضف المحطات إلى wis2box الخاص بك باستخدام محرر المحطات في wis2box-webapp، واربط المحطات بموضوع مجموعة البيانات الخاصة بك.

الآن أعد تحميل ملف البيانات النموذجي aws-example.csv إلى نفس المسار في MinIO الذي استخدمته في التمرين السابق.

تحقق من لوحة تحكم Grafana، هل هناك أية أخطاء أو تحذيرات جديدة؟ كيف يمكنك معرفة أن البيانات التجريبية تم إدخالها ونشرها بنجاح؟

انقر لكشف الإجابة

يمكنك التحقق من الرسوم البيانية على لوحة تحكم Grafana الرئيسية لمعرفة ما إذا تم إدخال البيانات التجريبية ونشرها بنجاح.

إذا نجحت، يجب أن ترى ما يلي:

grafana_success

تمرين 4: التحقق من وسيط MQTT لإشعارات WIS2

انتقل إلى MQTT Explorer وتحقق مما إذا كان بإمكانك رؤية رسالة إشعار WIS2 للبيانات التي قمت بإدخالها للتو.

كم عدد إشعارات البيانات WIS2 التي نشرها wis2box الخاص بك؟

كيف يمكنك الوصول إلى محتوى البيانات المنشورة؟

انقر لكشف الإجابة

يجب أن ترى 6 إشعارات بيانات WIS2 نشرها wis2box الخاص بك.

للوصول إلى محتوى البيانات المنشورة، يمكنك توسيع هيكل الموضوع لرؤية المستويات المختلفة للرسالة حتى تصل إلى المستوى الأخير ومراجعة محتوى رسالة واحدة.

يحتوي محتوى الرسالة على قسم "links" مع مفتاح "rel" بقيمة "canonical" ومفتاح "href" بعنوان URL لتنزيل البيانات. سيكون تنسيق URL على النحو التالي http://<your-host>/data/....

لاحظ أن تنسيق البيانات هو BUFR وستحتاج إلى محلل BUFR لعرض محتوى البيانات. تنسيق BUFR هو تنسيق ثنائي يستخدمه الخدمات الجوية لتبادل البيانات. قامت الإضافات البيانية داخل wis2box بتحويل البيانات من CSV إلى BUFR قبل نشرها.

عرض محتوى البيانات التي نشرتها

يمكنك استخدام wis2box-webapp لعرض محتوى إشعارات البيانات WIS2 التي تم نشرها بواسطة wis2box الخاص بك.

افتح wis2box-webapp في متصفحك بالانتقال إلى http://<your-host>/wis2box-webapp واختر علامة التبويب Monitoring:

wis2box-webapp-monitor

في علامة التبويب monitoring، حدد معرف مجموعة البيانات الخاصة بك وانقر على "UPDATE"

تمرين 5: عرض إشعارات WIS2 في wis2box-webapp

كم عدد إشعارات البيانات WIS2 التي نشرها wis2box الخاص بك؟

ما هي درجة الحرارة الجوية المبلغ عنها في الإشعار الأخير في المحطة بمعرف WIGOS=0-20000-0-60355؟

انقر لكشف الإجابة

إذا قمت بإدخال البيانات التجريبية بنجاح، يجب أن ترى 6 إشعارات بيانات WIS2 نشرها wis2box الخاص بك.

لرؤية درجة الحرارة الجوية المقاسة للمحطة بمعرف WIGOS=0-20000-0-60355، انقر على زر "INSPECT" بجانب الملف لتلك المحطة لفتح نافذة منبثقة تعرض محتوى الملف البياني المحلل. كانت درجة الحرارة الجوية المقاسة في هذه المحطة 25.0 درجة مئوية.

Note

يتضمن حاوية wis2box-api أدوات لتحليل ملفات BUFR وعرض المحتوى بتنسيق يمكن قراءته بواسطة الإنسان. هذا ليس متطلبًا أساسيًا لتنفيذ WIS2.0، ولكن تم تضمينه في wis2box لمساعدة الناشرين على التحقق من م