أرسل خدمة السحابة أو الجهاز الظاهري أو بيانات تشخيص بنية الخدمة إلى Application Insights
تستخدم خدمات شبكة النظير والأجهزة الظاهرية ومجموعات مغير سعة الأجهزة الظاهرية وبنية الخدمة جميعًا ملحق تشخيص Azure لجمع البيانات. تقوم تشخيصات Azure بإرسال البيانات إلى جداول تخزين Azure. ومع ذلك، فيمكنك أيضًا توجيه كافة أو مجموعة فرعية من البيانات إلى مواقع أخرى باستخدام ملحق التشخيص Azure 1.5 أو الأحدث.
تقوم هذه المقالة بتوضيح كيفية إرسال البيانات من ملحق تشخيص Azure إلى Application Insights.
وتم توضيح تكوين التشخيص
قدم ملحق تشخيص Azure 1.5 متلقيات، وهي مواقع إضافية حيث يمكنك إرسال البيانات التشخيصية.
مثال تكوين متلقي لـApplication Insights:
<SinksConfig>
<Sink name="ApplicationInsights">
<ApplicationInsights>{Insert InstrumentationKey}</ApplicationInsights>
<Channels>
<Channel logLevel="Error" name="MyTopDiagData" />
<Channel logLevel="Verbose" name="MyLogData" />
</Channels>
</Sink>
</SinksConfig>
"SinksConfig": {
"Sink": [
{
"name": "ApplicationInsights",
"ApplicationInsights": "{Insert InstrumentationKey}",
"Channels": {
"Channel": [
{
"logLevel": "Error",
"name": "MyTopDiagData"
},
{
"logLevel": "Error",
"name": "MyLogData"
}
]
}
}
]
}
تكون سمةالمتلقيالاسمقيمة سلسلة تحدد المتلقي بشكل فريد.
يقوم عنصرApplicationInsightsبتحديد مفتاح الأجهزة من مورد تفاصيل التطبيق حيث يتم إرسال بيانات التشخيص Azure.
- إذا لم يكن لديك مورد Application Insights موجود، فشاهد إنشاء مورد Application Insights جديد.
- إذا كنت تقوم بتطوير خدمة سحابية باستخدام Azure SDK 2.8 والإحدث، يتم ملء مفتاح الأجهزة هذا تلقائيا. تستند القيمة إلى إعداد تكوين خدمة APPINSIGHTS_INSTRUMENTATIONKEY عند حزم مشروع خدمة السحابة، راجع استخدام Application Insights مع الخدمات السحابية.
يحتوي عنصرالقنواتعلى عنصرقناةمفرد أو أكثر.
- تُشير سمةالاسمبشكل فريد إلى تلك القناة.
- تتيح سمةloglevelتحديد مستوى السجل الذي تسمح به القناة. مستويات السجل المتوفرة بترتيب معظم المعلومات إلى أقلها هي:
- مطول
- المعلومات
- تحذير
- Error
- هام
تعمل القناة كمرشح وتسمح لك بتحديد مستويات سجل المعينة لإرسالها إلى المتلقي الهدف. على سبيل المثال، يمكنك جمع سجلات مطولة وإرسالها إلى وحدة التخزين، ولكن يمكنك إرسال "أخطاء" فقط إلى المتلقي.
يقوم الرسم التالي بتوضيح هذه العلاقة.
يقوم الرسم البياني التالي بتلخيص قيم التكوين وكيفية عملها. يمكنك تضمين عدة متلقيات في التكوين على مستويات مختلفة في التدرج الهرمي. يعمل المتلقي في المستوى الأعلى كإعداد عمومي ويعمل الإعداد المحدد في العنصر الفردي مثل منع إلى ذلك الإعداد العمومي.
مثال تكوين متلقي كامل
فيما يلي مثال كامل لملف التكوين العام الذي:
- يرسل كافة الأخطاء إلى Application Insights (المحدد في عقدة DiagnosticMonitorConfiguration ).
- يرسل أيضا سجلات مستوى مطول لسجلات التطبيق (المحددة في عقدة السجلات ).
<WadCfg>
<DiagnosticMonitorConfiguration overallQuotaInMB="4096"
sinks="ApplicationInsights.MyTopDiagData"> <!-- All info below sent to this channel -->
<DiagnosticInfrastructureLogs />
<PerformanceCounters>
<PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT3M" />
<PerformanceCounterConfiguration counterSpecifier="\Memory\Available MBytes" sampleRate="PT3M" />
</PerformanceCounters>
<WindowsEventLog scheduledTransferPeriod="PT1M">
<DataSource name="Application!*" />
</WindowsEventLog>
<Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Verbose"
sinks="ApplicationInsights.MyLogData"/> <!-- This specific info sent to this channel -->
</DiagnosticMonitorConfiguration>
<SinksConfig>
<Sink name="ApplicationInsights">
<ApplicationInsights>{Insert InstrumentationKey}</ApplicationInsights>
<Channels>
<Channel logLevel="Error" name="MyTopDiagData" />
<Channel logLevel="Verbose" name="MyLogData" />
</Channels>
</Sink>
</SinksConfig>
</WadCfg>
"WadCfg": {
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": 4096,
"sinks": "ApplicationInsights.MyTopDiagData", "_comment": "All info below sent to this channel",
"DiagnosticInfrastructureLogs": {
},
"PerformanceCounters": {
"PerformanceCounterConfiguration": [
{
"counterSpecifier": "\\Processor(_Total)\\% Processor Time",
"sampleRate": "PT3M"
},
{
"counterSpecifier": "\\Memory\\Available MBytes",
"sampleRate": "PT3M"
}
]
},
"WindowsEventLog": {
"scheduledTransferPeriod": "PT1M",
"DataSource": [
{
"name": "Application!*"
}
]
},
"Logs": {
"scheduledTransferPeriod": "PT1M",
"scheduledTransferLogLevelFilter": "Verbose",
"sinks": "ApplicationInsights.MyLogData", "_comment": "This specific info sent to this channel"
}
},
"SinksConfig": {
"Sink": [
{
"name": "ApplicationInsights",
"ApplicationInsights": "{Insert InstrumentationKey}",
"Channels": {
"Channel": [
{
"logLevel": "Error",
"name": "MyTopDiagData"
},
{
"logLevel": "Verbose",
"name": "MyLogData"
}
]
}
}
]
}
}
في التكوين السابق، تحتوي الخطوط التالية على المعاني التالية:
إرسال جميع البيانات التي تجمعها تشخيصات Azure
<DiagnosticMonitorConfiguration overallQuotaInMB="4096" sinks="ApplicationInsights">
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": 4096,
"sinks": "ApplicationInsights",
}
قم بإرسال سجلات الخطأ فقط إلى Application Insights
<DiagnosticMonitorConfiguration overallQuotaInMB="4096" sinks="ApplicationInsights.MyTopDiagdata">
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": 4096,
"sinks": "ApplicationInsights.MyTopDiagData",
}
قم بإرسال سجلات تطبيق الرسالة المطولة إلى Application Insights
<Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Verbose" sinks="ApplicationInsights.MyLogData"/>
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": 4096,
"sinks": "ApplicationInsights.MyLogData",
}
القيود
- نوع سجل القنوات فقط وليس عدادات الأداء. إذا حددت قناة مع عنصر عداد أداء، يتم تجاهلها.
- لا يمكن أن يتجاوز مستوى السجل لقناة مستوى السجل لما يتم تجميعه بواسطة تشخيصات Azure. على سبيل المثال، لا يمكنك تجميع أخطاء سجل التطبيق في عنصر Logs ومحاولة إرسال سجلات مطولة إلى متلقي Application Insight. يجب أن تجمع السمة scheduledTransferLogLevelFilter دائما سجلات متساوية أو أكثر من السجلات التي تحاول إرسالها إلى متلقي.
- لا يمكنك إرسال بيانات الكائن الثنائي كبير الحجم التي تم جمعها بواسطة ملحق تشخيص Azure إلى Application Insights. على سبيل المثال، أي شيء تم تحديده ضمن عقدةالدلائل. بالنسبة إلى تفريغ الأعطال، يتم إرسال تفريغ الأعطال الفعلي إلى تخزين الكائن الثنائي كبير الحجم ويتم إرسال إشعار فقط بأن تفريغ الأعطال تم إنشاؤه إلى Application Insights.
الخطوات التالية
- معرفة كيفيةعرض معلومات تشخيص Azureفي Application Insights.
- قم باستخدامPowerShellمن أجل تمكين ملحق تشخيص Azure للتطبيق الخاص بك.
- استخدم Visual Studio لتمكين ملحق تشخيص Azure للتطبيق الخاص بك.