Application Insights
أضف أدوات SDK الخاصة بـ Application Insights إلى تطبيق ويب، واستكشف خريطة التطبيق، واستخدم Live Metrics Stream لتشخيص المشكلات في الوقت الفعلي.
Application Insights درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ما Application Insights؟
إن Application Insights إحدى ميزات Azure Monitor التي توفر مراقبة أداء التطبيقات (APM) لتطبيقات الويب قيد التشغيل. فهي تجمع بيانات تليمترية حول الطلبات والتبعيات والاستثناءات ومرات مشاهدة الصفحات والأحداث المخصصة. وعلى خلاف مقاييس النظام الأساسي التي تصف حالة البنية الأساسية، يصف Application Insights ما ينفذه رمز التطبيق وكيف يختبره المستخدمون النهائيون. وهو يدعم .NET وNode.js وJava وPython وJavaScript في المتصفح.
إضافة أدوات المراقبة إلى تطبيقك
يمكنك إضافة Application Insights إلى تطبيق من خلال تثبيت SDK أو استخدام التنفيذ التلقائي للأدوات (ويُسمى أيضًا الإرفاق دون كتابة تعليمات برمجية). وبالنسبة إلى App Service، يؤدي تمكين Application Insights من المدخل إلى تثبيت العامل تلقائيًا من دون إجراء تغييرات على التعليمات البرمجية. أما التطبيقات التي تديرها بنفسك، فتضيف حزمة SDK وتوفر سلسلة الاتصال (وهي الخيار المفضل بدلًا من مفتاح الأدوات الأقدم) من مورد Application Insights.
# Enable Application Insights on an App Service app
az webapp config appsettings set \
--name myApp \
--resource-group myRG \
--settings APPLICATIONINSIGHTS_CONNECTION_STRING='InstrumentationKey=...' \
ApplicationInsightsAgent_EXTENSION_VERSION='~3'خريطة التطبيق
إن خريطة التطبيق هي مخطط مرئي لبنية مكونات تطبيقك وتبعياتها. تمثل كل عقدة مكونًا (تطبيقك أو API لاحقًا أو قاعدة بيانات أو خدمة Azure)، وتوضح الحواف علاقات الاستدعاء المشروحة ببيانات متوسط وقت الاستجابة ومعدل الطلبات ومعدل الفشل. ويمكنك النقر فوق أي عقدة أو حافة للتعمق في تتبعات الطلبات الفردية وتحديد مصدر زمن الاستجابة أو حالات الفشل.
دفق المقاييس المباشرة
يوفر دفق المقاييس المباشرة عرضًا في الوقت الفعلي لأداء تطبيقك، بزمن استجابة أقل من ثانية ومن دون تأخير. ويمكنك مشاهدة معدلات الطلبات الواردة وأوقات الاستجابة ومعدلات الفشل واستخدام وحدة المعالجة المركزية أثناء حدوثها، وهو أمر بالغ الأهمية أثناء النشر المباشر أو التحقيق في حادثة. يستخدم Live Metrics اتصالًا صادرًا آمنًا من تطبيقك إلى Application Insights، ولذلك لا يلزم إجراء تغييرات على قواعد جدار الحماية الواردة.
التتبع الموزع والمعاملات من البداية إلى النهاية
يربط التتبع الموزع البيانات التليمترية عبر خدمات متعددة باستخدام operation_Id مشترك. وعندما يدخل طلب مستخدم إلى تطبيق الواجهة الأمامية، ينشر Application Insights رؤوس سياق التتبع إلى الخدمات اللاحقة. وتجمع طريقة عرض تفاصيل المعاملة من البداية إلى النهاية جميع المقاطع من كل الخدمات المشاركة في مخطط زمني واحد على نمط مخطط Gantt، موضحةً بدقة أين يُستغرق الوقت عبر بنية الخدمات المصغرة.
الأحداث والمقاييس المخصصة
بالإضافة إلى البيانات التليمترية التلقائية، يمكنك تتبع الأحداث المخصصة والمقاييس المخصصة باستخدام SDK. استدعِ trackEvent() لتسجيل أحداث على مستوى الأعمال مثل 'CheckoutCompleted' أو 'FeatureFlagEnabled'. واستدعِ trackMetric() لتسجيل قياسات خاصة بالتطبيق مثل عمق قائمة الانتظار أو نسبة إصابات ذاكرة التخزين المؤقت. وتظهر البيانات التليمترية المخصصة في جداول Log Analytics نفسها، ويمكن الاستعلام عنها باستخدام KQL إلى جانب بيانات النظام الأساسي.
// Node.js SDK example — tracking a custom event
const appInsights = require('applicationinsights');
appInsights.defaultClient.trackEvent({
name: 'CheckoutCompleted',
properties: { userId: '42', plan: 'premium' },
measurements: { orderValue: 99.99 }
});الكشف الذكي وحالات الفشل غير المعتادة
يحلل الكشف الذكي بياناتك التليمترية تلقائيًا باستخدام التعلم الآلي، وينبهك إلى الأنماط غير المعتادة، مثل الزيادة المفاجئة في معدل الفشل أو تدهور زمن استجابة الخادم أو الارتفاع غير الطبيعي في عدد الاستثناءات. وعلى خلاف التنبيهات المستندة إلى حدود التي تكوّنها يدويًا، تتكيف قواعد الكشف الذكي مع السلوك المعتاد لتطبيقك. وتُرسل التنبيهات إلى مالكي الاشتراك، وتظهر في لوحة الكشف الذكي.
اختبارات التوفر
ترسل اختبارات التوفر (وتُسمى أيضًا اختبارات الويب) طلبات HTTP اصطناعية إلى تطبيقك من مناطق Azure متعددة حول العالم وفق جدول زمني، وبمعدل يصل إلى مرة كل دقيقة. وتتحقق من أن نقاط النهاية العامة تستجيب برمز حالة HTTP المتوقع خلال مهلة محددة. وإذا فشل الاختبار من مواقع متعددة في الوقت نفسه، يُطلَق تنبيه. ويوفر ذلك مراقبة من الخارج إلى الداخل مستقلة عن البنية الأساسية الداخلية.
# Create a URL ping availability test via CLI
az monitor app-insights web-test create \
--name 'HomepagePing' \
--resource-group myRG \
--app-component myAppInsightsResource \
--defined-web-test-kind ping \
--request-url 'https://myapp.azurewebsites.net/' \
--locations '[{"Id":"us-ca-sjc-azr"},{"Id":"emea-gb-db3-azr"}]' \
--frequency 300 \
--timeout 30استخدام العينات للتحكم في حجم البيانات
يقلّل أخذ العينات حجم بيانات القياس عن بُعد المرسلة إلى Application Insights من خلال تسجيل جزء فقط من الطلبات مع الحفاظ على الدقة الإحصائية. ويضبط أخذ العينات التكيفي معدل العينة تلقائيًا للبقاء ضمن معدل إدخال مستهدف. أما أخذ العينات بمعدل ثابت فيطبّق نسبة مئوية ثابتة. وتُعلَّم بيانات القياس عن بُعد التي خضعت لأخذ العينات، بحيث تصحّح عروض المقاييس تلقائيًا عامل أخذ العينات عند عرض الأعداد والمعدلات.
تحليلات المستخدمين والجلسات
يتضمن Application Insights تحليلات استخدام مضمّنة للتطبيقات التي تم تزويد متصفحاتها بأدوات القياس. يعرض جزء Users أعداد المستخدمين الفريدين، بينما يتتبع Sessions رحلات المستخدمين، وتوضّح Funnels حالات الانسحاب خلال التدفقات متعددة الخطوات، وتعرض مخططات Retention عدد المستخدمين الذين يعودون بمرور الوقت. وتفيد هذه الأدوات بصفة خاصة فرق المنتجات التي تعمل على تحسين معدلات التحويل وتفاعل المستخدمين إلى جانب المراقبة التشغيلية.
جداول Application Insights وLog Analytics
تُخزَّن بيانات Application Insights في مساحة عمل Log Analytics ضمن جداول مخصصة: requests وexceptions وdependencies وtraces وpageViews وcustomEvents وcustomMetrics. وعند تكوين Application Insights في الوضع المستند إلى مساحة العمل (وهو الإعداد الافتراضي للموارد الجديدة)، يمكنك ربط هذه الجداول ببيانات أخرى في مساحة العمل، مثل ربط استثناء في تطبيق بحالة رفض وصول إلى Key Vault مسجلة في AzureActivity.
// KQL — find the top 10 slowest dependencies in the last hour
dependencies
| where timestamp > ago(1h)
| where success == false or duration > 2000
| summarize AvgDuration = avg(duration), FailCount = countif(success==false)
by name, type
| top 10 by AvgDuration descتحقق سريع
اختبر مدى فهمك لمفاهيم Microsoft Azure Fundamentals (AZ-900) الواردة في هذا الدرس.
مراجعة الدرس
تعلّمت في هذا الدرس أن Application Insights يوفر بيانات قياس عن بُعد على مستوى APM لمعدلات الطلبات وحالات الفشل والتبعيات، وأن Application Map والتتبّع الموزّع يعرضان طوبولوجيا الخدمات المصغّرة من البداية إلى النهاية، وأن اختبارات التوفّر تتحقق من نقاط النهاية العامة من مواقع عالمية متعددة. بعد ذلك، سنستكشف Azure Dashboards وWorkbooks لمشاركة الرؤية التشغيلية مع فريقك.
الأسئلة الشائعة
هل درس «Application Insights» مجاني؟
نعم — نص درس «Application Insights» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.
ماذا ستتعلم في «Application Insights»؟
أضف أدوات SDK الخاصة بـ Application Insights إلى تطبيق ويب، واستكشف خريطة التطبيق، واستخدم Live Metrics Stream لتشخيص المشكلات في الوقت الفعلي. تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟
لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «Application Insights»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟
نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقاييس Azure Monitor والتنبيهات
- أساسيات Log Analytics وKQL
- Application Insights
- لوحات معلومات Azure وWorkbooks