مراقبة إشعارات 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
:
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 الرئيسية لمعرفة ما إذا تم إدخال البيانات التجريبية ونشرها بنجاح.
إذا نجحت، يجب أن ترى ما يلي:
تمرين 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:
في علامة التبويب 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 لمساعدة الناشرين على التحقق من م