Table of Contents
مقدمة
في بيئة العمل السريعة السرعة، القدرة على تحليل البيانات عند وصولها - ليس بعد ساعات - تعني الفرق بين الاستيلاء على فرصة وضياعها بالكامل - لوحات التحليلات في الوقت الحقيقي توفر فرق العمليات، ومسؤولي التنفيذ، ومحللي البيانات مع تحديث مستمر في القياسات مثل صحة النظام، وسلوك العملاء، وقراءة أجهزة الاستشعار، والمعاملات المالية تتطلب
(أزوير) معرض البيانات يظهر كحل رئيسي مصمم خصيصاً لهذه الطلبات، وهو يقدم أنابيب ابتلاع مُدارة، وخزن أعمدة تُستخدم على الوجه الأمثل لسلاسل زمنية وبيانات لوجستية، ولغة كوستو كويري القوية لتحويل الأحداث الخام إلى تصورات عملية، وهذه المادة توفر دليلاً عملياً عملياً عملياً عملياً على كيفية إنشاء لوحة بيانات تفاعلية ذات جودة إنتاجية
ما هو مستكشف بيانات (أزور)؟
Azure Data Explorer is a fully managed, high-performance big data analytics service that excels at interactive analysis of large volumes of structured and semi-structured data. It is purpose-built for scenarios such as application monitoring,
وتشمل السمات الرئيسية التي تجعل من الـ دي إكس المثل الأعلى لوحات الـ دي إكس ذات الوقت الحقيقي ما يلي:
- Streaming ingestion:] Ingest data from Azure Event Hubs, IoT Hub, Kafka, and other streaming sources with latencies as low as a few seconds.
- Columnar storage and indexing:] Data is compressed and indexed using inverted and B-tree indexes, enabling fast scanning and filtering.
- Kusto Query Language (KQL): A read-only, SQL-like language with built-in operators for time-series analysis, statistical functions, joins, and aggregations.
- Native Power BI integration:] DirectQuery mode and import mode allow dashboards to refresh automatically or near-realtime.
- Auto-scaling and cost management:] Clusters can scale compute and storage independently, and you can set a cache policy to keep hot data in memory for fast queries.
ADX is often compared to traditional data warehouses like Azure Synapse or Amazon Redshift, but it is optimized for high cardinality (e.g., millions of unique devices) and append-only workloads typical of logs and time-
إقامة البيئة
إنشاء مجموعة استكشاف بيانات أزور
(أ) البدء في تسجيل بوابة (Azure gate وإنشاء مورد جديد من نوع " مجموعة استكشاف البيانات الزوراي " (Azure Data Explorer Cluster). اختيار الاشتراك، مجموعة الموارد، والمنطقة التي تتواءم مع مصادر بياناتكم (يُفضل أن تكون المنطقة نفسها لتقليل درجة التساهل)
- Dev/ testing:] Dev(Standard D13 v2) or Standard D14 v2 for small workloads.
- Production:] Standard L8s v2, Standard L16s v2, or the newer SKU family with local NVMe SSDs (e.g., Standard L8s v3) for high throughput.
- High concurrency:] Clusters with multiple instances that can auto-scale based on CPU or ingestion load.
وبعد نشر المجموعة، إنشاء قاعدة بيانات داخلها، واستخدام سياسات الاحتفاظ بالمقصور وسياسات الطبخ في البداية، وبالنسبة لوحات المتابعة في الوقت الحقيقي، قد ترغب في وضع سياسة ]FLT:0[ للصيد ][ ]FLT:1][ لعدة أيام )أو أسابيع( بحيث يتم توفير جميع البيانات الحديثة من الذاكرة.
مصادر استنفاد البيانات
وتعتمد لوحات السحب في الوقت الحقيقي على بيانات التدفق، وتدعم شركة ADX عدة نُهج للاحتراق:
- Event Hubs:] Most common for logs and telemetry. Create an Event Hubs namespace and a hub, then configure a data connection in ADX that maps the JSON or Avro events to a table schema.
- IoT Hub:] For IoT devices, IoT Hub provides instrument authentication and message routing directly to ADX.
- Kafka:] Use the ADX Kafka connector to bring streams from Apache Kafka or Confluent.
- Blob Storage/Data Lake:] For batch or near-real-time ingestion from Parquet/CSV files stored in Azure Blob or ADLS Gen2.
وعند إنشاء ممرات للحدث، تأكد أن حساب التقسيم يطابق احتياجاتك من الناتج، ويمكن للشركة أن تضيف بيانات من أجزاء متعددة في الوقت نفسه، وبالنسبة لكل اتصال بالبيانات، ستحددان أيضاً [(FLT:0]) قابلة للتعديل و ] التي تحول مسارات البيانات إلى مواضع.
استنباط بيانات عن الوقت الحقيقي
إنشاء الجداول والرسوم البيانية
قبل أن تُغرس، تُنشئ طاولة المقصد في قاعدة بياناتك الخاصة بـ (إي دي إكس) باستخدام (كي كي كي كي كي إل) مثلاً، قد يبدو جدول لسجلات الأخطاء التطبيقية:
.create table AppLogs (Timestamp: datetime, Level: string, Service: string, Message: string, CorrelationId: string)
إذاً، أصنع خريطة للإستعمالات من مصادرك للتدفقات، بالنسبة للـ(جون) من (الأحداث)
.create table AppLogs ingestion json mapping 'AppLogsJsonMapping' '[{"column":"Timestamp","datatype":"datetime","properties":{"path":"$.timestamp"}},{"column":"Level","datatype":"string","properties":{"path":"$.level"}},{"column":"Service","datatype":"string","properties":{"path":"$.service"}},{"column":"Message","datatype":"string","properties":{"path":"$.message"}},{"column":"CorrelationId","datatype":"string","properties":{"path":"$.correlationId"}}]'
هذه الخرائط تخبر (آدكس) كيف تستخرج الحقول من كل حدث
إقامة علاقة بين المسابقة
في بوابة (أزور)، نبحر إلى قاعدة بياناتك (أدكس)، ونختار "وصلات البيانات" ونضيف اتصالاً بالحدث، ونوفر مساحة التظاهرة، واسم المحاور، ومجموعة المستهلكين (استخدام مجموعة مستهلكة مخصصة لـ(أدكس لتجنب النزاعات)، واسم الجدول، ونحدد مرجعيات رسم الخرائط التي وضعتها، وستبدأ (أ د إكس) تلقائياً في تنظيم الأحداث وتتاحتها للاستفسارات في غضون ثوان.
وبالنسبة للسيناريوهات العالية النواتج، النظر في استخدام الإغراق المتدفق ] (التي يمكن استخدامها في المجموعة) بدلاً من ابتلاع دفعات، ويكتب الاستغناء التدريجي بيانات مباشرة إلى النطاقات العمودية دون استخدام متوسط، ويوفر فترات متأخرة تقل عن 10 ثوان، وهذا هو الأسلوب المفضل بالنسبة لأغلة لوحات جمع البيانات في الوقت الحقيقي(5).
Querying with Kusto Query Language (KQL)
قلب أي لوحة (أدي إكس) هي الاستفسارات التي تجمع بيانات التصفية في الوقت الحقيقي
التأليف والتجميع الأساسيان
إحصاء الأحداث الخطأ لكل خدمة خلال الساعة الأخيرة في دقيقة واحدة
AppLogs
| where Timestamp > ago(1h)
| where Level == "Error"
| summarize ErrorCount = count() by Service, bin(Timestamp, 1m)
| order by Timestamp asc
هذا يعود لسلسلة زمنية جاهزة لرسم خط
الحسابات المرنة
لعلك تريد "بي50" و"بي 95" و"بي99"
ServiceLatency
| where Timestamp > ago(30m)
| summarize P50 = percentile(LatencyMs, 50), P95 = percentile(LatencyMs, 95), P99 = percentile(LatencyMs, 99) by Service
الانضمام إلى البيانات المرجعية
وكثيرا ما تحتاج ألواح الرش إلى إثراء الأحداث ببيانات البحث الثابتة (مثل مواقع الأجهزة) وتساند شركة ADX الانضمام إلى الوزن الخفيف، وعلى سبيل المثال، تنضم إلى مجرى القياس عن بعد مع جدول الأجهزة:
Telemetry
| where Timestamp > ago(15m)
| lookup Devices on DeviceId
| project Timestamp, DeviceId, Region, MetricValue
For large reference tables, consider materializing them using materialized views] or storing them in a separate group with an appropriate cache policy.
وظائف الوقت
ويشمل برنامج " ADX " عمليات سلاسل زمنية قوية مثل ] للكشف عن الشذوذ، ] للفصل الموسمي، و لتحليل الترددات.
AppLogs
| where Timestamp > ago(2h)
| make-series ErrorCount = count() on Timestamp step 1m
| extend anomalies = series_decompose(ErrorCount, -1, 2.0, 'ok')
| mv-expand Timestamp, ErrorCount, anomalies
| where anomalies[2] < 0 or anomalies[2] > 0
وهذه الاستفسارات متقدمة ولكن يمكن أن تغذي أجهزة الإنذار مباشرة.
For a complete reference, see the Kusto Query Language documentation.]
بناء لوحة مفاتيح التشغيل
Connecting Power BI to ADX
Azure Data Explorer integrates with Power BI through the Azure Data Explorer (Kusto)] connector.
- "مُتفجرة" "مُتفجرة" "مُتفجرة"
- ابحث عن "مستكشف بيانات الزواحف" واختيار الموصل
- أدخل مجموعتك (مثلاً، ]) واسم قاعدة البيانات.
- (أ) اختر بين Import (تسحب البيانات إلى محطة BI وتُعاد صياغتها دوريا) أو ]DirectQuery ] (وترسل إلى ADX بشأن كل تفاعل).
كتابة أوراق KQL في محطة توليد الطاقة
في جهاز الاتصال، يمكنك كتابة استفسارات (كي كي كي كي) مباشرة، وحافظ على تركيز الاستفسارات وتأكد من إعادة البيانات التي يمكن أن يُظهرها جهاز التحكم الكهربائي، مثلاً، لخلق مجموعة بيانات مع عدد الأخطاء في كل دقيقة خلال الساعة الأخيرة:
AppLogs
| where Timestamp > ago(1h)
| summarize ErrorCount = count() by Service, bin(Timestamp, 1m)
بعد تحميل الأسئلة، استخدم نموذج "السلطة" لتحديد التدابير، الهرميات، والعلاقات إذا كان لديك استفسارات متعددة
إعادة تقدير الوقت الحقيقي
In DirectQuery mode, the visuals automatically re-query ADX when users interact with the report (e.g., changing a date slicer). However, to make the dashboard auto-refresh without user interaction, you need to set the ]auto-page refresh] feature in the Power BI service:
- نشر التقرير إلى حيز عمل للآب مع القدرة على العمل قبل الميلاد (أو وحدة دعم البرامج والميزانية).
- في التقرير، تحت "مخططات جديدة" حدد فترة "الملكية المباشرة" للوحات الجاهزة للدبابات في الوقت الحقيقي، استخدموا دقيقة أو دقيقتين
- وكبديل لذلك، استخدم السمة Auto-refresh (الاستعراض) التي تُعيد تصنيف الصفحة في فترة زمنية محددة (مثلاً كل 30 ثانية).
ضع في اعتبارها أن كل عملية تجديد آلي ستنفذ جميع الاستفسارات التي تقوم عليها المشاهدات، وتفضّل أن تعود الاستفسارات بسرعة (دون 5 ثوان) لتجنب الانتظارات التي يُستخدمها وحمولة المجموعات المفرطة.
أفضل الممارسات في مجال التصور
- Use card visuals] for KPIs (e.g., total errors in last 5 minutes).
- مخططات خطية ] لاتجاهات السلاسل الزمنية.
- Bar charts] for top-N breakdowns (e.g., top failing services).
- خرائط جغرافية مكانية إذا كان لديك بيانات موقعية.
- Gauges] to show progress toward thresholds.
ولأن شركة DirectQuery ترسل الاستفسارات عن كل تفاعل، وتتجنب استخدام الصور العرفية التي تولد الكثير من الاستفسارات، كما تطبق مرشحات في أقرب وقت ممكن في شركة KQL لخفض حجم البيانات.
الأداء الأمثل للجرائم التي تمر بمرحلة انتقالية
التجميع والفهرسة
(أ دي إكس) يخلق تلقائياً و يدمج مدى (أشلاء البيانات) مع مرور الوقت، لكن يمكنك التأثير على الأداء من خلال:
- (أ) اختيار سياسة ) شاملة تُوازن بين ارتفاع معدل الاستيعاب وتوافق الاستفسارات، وبالنسبة لوحات السحب في الوقت الحقيقي التي تتضمن العديد من الاستفسارات البصرية، يُستدلى (الحالات الإضافية) بدلاً من التوسع.
- (ج) وضع سياسة ملائمة للصراصير بشأن قاعدة البيانات أو الجداول، مثلاً لإبقاء الأيام السبعة الأخيرة في مخبأ ساخن:
- (أ) استخدام ] الآراء المموَّلة لتحقيق نتائج مفصَّلة سلفاً تستكمل تدريجياً، ويمكن أن يُجسِّد رأياً مُجسَّداً ملخصات ساعة أو يومية، تُقدِّم بعد ذلك لوحات مُدوَّنة رفيعة المستوى على الفور.
النمط الأمثل
- Filter early:] Use clauses on the timestamp column and high-cardinality dimensions to reduce scanned data.
- Minimize joins:] If possible, denormalize data during ingestion so that reference data is already embedded in events.
- Avoid ] in projects:] Explicitly list needed columns to reduce bandwidth and memory.
- Use ] for large ] operations to distribute aggregation across nodes.
- Limit results:] always use , , or ] in development queries. In Power BI, the visuals usually have their own top-N filters, but add them in KQL too.
رصد الصحة الجماعية
يوفر مستكشف بيانات أزور سجلات تشخيصية وميضات مبنية من خلال مرصد أزور، مقاييس رئيسية للمراقبة:
- Ingestion latency:] average time from event creation to being queryable.
- Query latency:] P50 and P99 execution times.
- CPU and memory usage:] If consistently high, consider scaling.
- Ingestion rate:] Ensure you are not throtling; split streams into more partitions if needed.
وضع إنذارات في مرصد أزور عندما تتجاوز فترات التأخير في الاستفسار عتبة (مثلاً، P99 ⁇ 10 ثوان) حتى تتمكن من الالتفاف بشكل استباقي.
التأقلم والتألق في الوقت الحقيقي
ويتمتع جهاز المتابعة في الوقت الحقيقي بأقوى ما يكون عندما يقترن بردود آلية، ويقدم مستكشف بيانات أزور عدة نقاط تكامل:
إنذار من شركة ADX
ويمكنك أن تخلق استفسارات مقررة في ADX تجري على جدول زمني (مثل كل 5 دقائق) وترسل نتائج إلى مرصد أزور، ثم تحدد قواعد الإنذار التي تشتعل عندما تستوفى الشروط (مثلاً، تعد الأخطاء 100 في نافذة مدتها خمس دقائق).
- إرسال رسالة إلكترونية أو SMS عن طريق مجموعات العمل.
- (أزوير لوجيك آبز) لتدير سير العمل (مثل إعادة تشغيل خدمة، وخلق تذكرة حادث).
- دعوة أجهزة الاتصال على الشبكة لإخطار النظم الخارجية
Azure Logic Apps and Microsoft Power Automate
استخدمي (لوجيك آبز) مع موصل (كوستو كويري) لجلب البيانات من (إي دي إكس) ثم اتخاذ الإجراءات، مثلاً، إذا كشفت استفسار عن ارتفاع في استخدام وحدة منع الحمل عبر أجهزة التصوير بالأشعة السينية، فإن جهازاً لتقنية الأشعة السينية يمكن أن يُطلق عليه دفتر للأجهزة الآليّة الزورية ليُسعّد نظام الرصد والوس.
محلل للطوابق و ADX
وحتى في حالات الطوارئ الأقل، فإن بيانات تتدفق عبر تحليلات أزور سترام، التي يمكن أن تطبق النوافذ الزمنية وتدفع أحداث الإنذار في وقت واحد إلى شركة ADX (للتحليل التاريخي) وإلى مشترك في الحدث من أجل الإنذار الفوري.
أمثلة على حالات الاستخدام والعالم الحقيقي
- DevOps Observability Dashboard:] Aggregate logs, metrics, and traces from microservices across Kubernetes clusters. ADX ingests from Fluentd/Logstash Azure Event Hubs, and the Power BI dashboard shows request rates, error responses, and latencies.
- IoT Fleet Monitoring:] Connect IoT Hub to ADX for vehicle telemetry (location, speed, battery status). A real-time map visual in Power BI updates as vehicles report in.
- Financial Fraud Detection:] Stream transactions through Event Hubs into ADX. Dashboards show transaction volumes by region and anomaly scores; alerts trigger blocklists when thresholds are breached.
- Clickstream Analysis:] User activity from websites is ingested into ADX. The dashboard tracks active users, page views per second, and conversion funnels updated every minute.
خاتمة
بناء لوحة تحليلية في الوقت الحقيقي مع مستكشف بيانات (أزور) و(باور بي آي) هو نهج قوي قابل للتكرار ويلبي الطلب المتزايد على البصيرة الفورية، عن طريق دعم عملية (أدكس) للإستعمال، قدرات (كي كي كي كي كي كي كي إل) في تصميم الوقت القوي، ووصلات (جيكوري) في (باور بي آي)، يمكنك أن تخلق لوحات نجاح مستمرة
بدء تشغيله بمجرى قياسي واحد، وهى على الاستفسارات، وتوسع تدريجيا إلى مصادر بيانات أكثر، وبما أن احتياجات منظمتك في الوقت الحقيقي تنمو، فإن مرونة شركة ADX تكفل أن تكون جداول لوحة التحكم الخاصة بك دون المساس بالسرعة، وللمزيد من المعلومات، تستكشف دليل استغلال المؤثرات العقلية