Application Insights ل Java 2.x
تنبيه
تنطبق هذه المقالة على Application Insights Java 2.x، والذي لم يعد مستحسنا.
يمكن العثور على وثائق أحدث إصدار على Application Insights Java 3.x.
في هذه المقالة، ستتعلم كيفية استخدام Application Insights Java 2.x. توضح لك هذه المقالة كيفية:
- ابدأ، وتعرف على كيفية إعداد الطلبات وتتبع التبعيات وجمع عدادات الأداء وتشخيص مشكلات الأداء والاستثناءات وكتابة التعليمات البرمجية لتعقب ما يفعله المستخدمون بتطبيقك.
- إرسال سجلات التتبع إلى Application Insights واستكشافها باستخدام مدخل Application Insights.
- مراقبة التبعيات والاستثناءات التي تم اكتشافها وأوقات تنفيذ الأسلوب في تطبيقات الويب Java.
- تصفية بيانات تتبع الاستخدام في تطبيق Java على الويب.
- استكشف مقاييس أداء نظام Linux في Application Insights باستخدام
collectd
. - قياس مقاييس التعليمات البرمجية للتطبيق المستند إلى جهاز Java الظاهري (JVM). تصدير البيانات إلى أنظمة المراقبة المفضلة لديك باستخدام مراقبة تطبيق Micrometer.
ملاحظة
في 31 مارس 2025، سينتهي دعم استيعاب مفاتيح الأجهزة. سيستمر استيعاب مفتاح الأجهزة في العمل ولكننا لن نقوم بتوفير تحديثات أو أي دعم للميزة. الانتقال إلى سلاسل الاتصال للاستفادة من الإمكانات الجديدة.
ابدأ مع Application Insights في مشروع ويب Java
في هذا القسم، يمكنك استخدام Application Insights SDK لإعداد الطلبات وتتبع التبعيات وجمع عدادات الأداء وتشخيص مشكلات الأداء والاستثناءات وكتابة التعليمات البرمجية لتتبع ما يفعله المستخدمون بتطبيقك.
تُعد Application Insights خدمة تحليلات موسعة لمطوري الويب تساعدك على فهم أداء واستخدام تطبيقك المباشر. يدعم Application Insights تطبيقات Java التي تعمل على Linux أو Unix أو Windows.
المتطلبات الأساسية
تحتاج:
- حساب Azure باشتراك نشط. يمكنك إنشاء حساب مجانًا.
- تطبيق جافا يعمل.
احصل على مفتاح أدوات Application Insights
تسجيل الدخول إلى مدخل Azure.
في مدخل Azure، قم بإنشاء مورد Application Insights. اضبط نوع التطبيق على تطبيق ويب Java.
ابحث عن مفتاح الأجهزة للمورد الجديد. ستحتاج إلى لصق هذا المفتاح في مشروع التعليمات البرمجية الخاص بك قريبًا.
أضف Application Insights SDK لـ Java إلى مشروعك
اختر نوع مشروعك.
إذا تم إعداد مشروعك بالفعل لاستخدام Maven للبناء، فقم بدمج الكود التالي في ملف pom.xml. ثم قم بتحديث تبعيات المشروع للحصول على الثنائيات وتحميلها.
<dependencies>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-web-auto</artifactId>
<!-- or applicationinsights-web for manual web filter registration -->
<!-- or applicationinsights-core for bare API -->
<version>2.6.4</version>
</dependency>
</dependencies>
الأسئلة المتداولة
ما هي العلاقة بين
-web-auto
-web
المكونات و و-core
؟-
applicationinsights-web-auto
يمنحك المقاييس التي تتعقب عدد طلبات HTTP servlet وأوقات الاستجابة عن طريق تسجيل عامل تصفية Application Insights servlet تلقائيا في وقت التشغيل. -
applicationinsights-web
يمنحك أيضا المقاييس التي تتعقب عدد طلبات HTTP servlet وأوقات الاستجابة. ولكن التسجيل اليدوي لعامل تصفية Application Insights servlet في التطبيق الخاص بك مطلوب. -
applicationinsights-core
يمنحك واجهة برمجة التطبيقات العارية، على سبيل المثال، إذا لم يكن تطبيقك مستندا إلى servlet.
-
كيف يمكنني تحديث SDK إلى أحدث إصدار؟
- اعتبارا من نوفمبر 2020، لمراقبة تطبيقات Java، نوصي باستخدام Application Insights Java 3.x. لمزيد من المعلومات حول كيفية البدء، راجع Application Insights Java 3.x .
أضف ملف ApplicationInsights.xml
أضف ApplicationInsights.xml إلى مجلد الموارد في مشروعك، أو تأكد من إضافته إلى مسار فئة توزيع المشروع. انسخ ملف XML التالي فيه.
استبدل مفتاح الأجهزة بالمفتاح الذي حصلت عليه من مدخل Azure.
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings" schemaVersion="2014-05-30">
<!-- The key from the portal: -->
<InstrumentationKey>** Your instrumentation key **</InstrumentationKey>
<!-- HTTP request component (not required for bare API) -->
<TelemetryModules>
<Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebRequestTrackingTelemetryModule"/>
<Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebSessionTrackingTelemetryModule"/>
<Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebUserTrackingTelemetryModule"/>
</TelemetryModules>
<!-- Events correlation (not required for bare API) -->
<!-- These initializers add context data to each event -->
<TelemetryInitializers>
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationIdTelemetryInitializer"/>
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebOperationNameTelemetryInitializer"/>
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebSessionTelemetryInitializer"/>
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserTelemetryInitializer"/>
<Add type="com.microsoft.applicationinsights.web.extensibility.initializers.WebUserAgentTelemetryInitializer"/>
</TelemetryInitializers>
</ApplicationInsights>
اختياريًا، يمكن أن يكون ملف التكوين في أي موقع يمكن الوصول إليه للتطبيق الخاص بك. تحدد خاصية النظام -Dapplicationinsights.configurationDirectory
الدليل الذي يحتوي على ApplicationInsights.xml. على سبيل المثال، سيتم تكوين ملف تكوين موجود في E:\myconfigs\appinsights\ApplicationInsights.xml باستخدام الخاصية -Dapplicationinsights.configurationDirectory="E:\myconfigs\appinsights"
.
- يتم إرسال مفتاح الأجهزة مع كل عنصر من عناصر القياس عن بُعد ويخبر Application Insights لعرضه في المورد الخاص بك.
- مكون طلب HTTP اختياري. يقوم تلقائيًا بإرسال بيانات التتبع عن الطلبات وأوقات الاستجابة إلى البوابة.
- ارتباط الحدث هو إضافة إلى مكون طلب HTTP. يقوم بتعيين معرف لكل طلب تم تلقيه من قبل الخادم. ثم يضيف هذا المعرف كخاصية إلى كل عنصر من عناصر القياس عن بعد كخاصية
Operation.Id
. يسمح لك بربط بيانات تتبع الاستخدام المقترنة بكل طلب عن طريق تعيين عامل تصفية في البحث التشخيصي.
طرق بديلة لضبط مفتاح الأجهزة
تبحث Application Insights SDK عن المفتاح بهذا الترتيب:
- خاصية النظام: -DAPPINSIGHTS_INSTRUMENTATIONKEY=your_ikey
- متغير البيئة: APPINSIGHTS_INSTRUMENTATIONKEY
- ملف التكوين: ApplicationInsights.xml
يمكنك أيضًا تعيينه في الكود :
String instrumentationKey = "00000000-0000-0000-0000-000000000000";
if (instrumentationKey != null)
{
TelemetryConfiguration.getActive().setInstrumentationKey(instrumentationKey);
}
إضافة وكيل
قم بتثبيت عامل Java لالتقاط مكالمات HTTP الصادرة واستعلامات JDBC وتسجيل التطبيق وتسمية أفضل للعملية.
تشغيل التطبيق الخاص بك
إما تشغيله في وضع تتبع الأخطاء على جهاز التطوير الخاص بك أو نشره على الخادم الخاص بك.
عرض القياس عن بُعد في Application Insights
ارجع إلى مورد Application Insights في مدخل Microsoft Azure.
تظهر بيانات طلبات HTTP في جزء النظرة العامة. إذا لم يكن موجودا، فانتظر بضع ثوان ثم حدد تحديث.
تعرف على المزيد حول المقاييس.
انقر فوق أي مخطط لمشاهدة مقاييس مجمعة أكثر تفصيلاً.
بيانات المثيل
انقر فوق نوع طلب محدد لرؤية مثيلات فردية.
Log Analytics: لغة استعلام قوية
أثناء تجميع المزيد من البيانات، يمكنك تشغيل الاستعلامات لتجميع البيانات والعثور على مثيلات فردية. Log Analytics هي أداة قوية لفهم الأداء والاستخدام، ولأغراض التشخيص.
قم بتثبيت تطبيقك على الخادم
الآن نشر التطبيق الخاص بك إلى الخادم، والسماح للأشخاص باستخدامه، ومشاهدة بيانات تتبع الاستخدام تظهر في المدخل.
تأكد من أن جدار الحماية يسمح للتطبيق بإرسال القياس عن بُعد إلى هذه المنافذ:
- dc.services.visualstudio.com:443
- f5.services.visualstudio.com:443
إذا كان يجب توجيه نسبة استخدام الشبكة الصادرة من خلال جدار حماية، فحدد خصائص
http.proxyHost
النظام وhttp.proxyPort
.على خوادم Windows، قم بتثبيت:
Microsoft Visual C ++ Redistributable
يتيح هذا المكون عدادات الأداء.
Azure App Service، خدمة Azure Kubernetes، تكوين الأجهزة الظاهرية
أفضل وأسهل نهج لمراقبة تطبيقاتك التي تعمل على أي موفري موارد Azure هو استخدام Application Insights Java 3.x.
الاستثناءات وفشل الطلب
يتم جمع الاستثناءات التي لم تتم معالجتها وإخفاقات الطلبات تلقائيًا بواسطة عامل تصفية الويب Application Insights.
لتجميع البيانات حول الاستثناءات الأخرى، يمكنك إدراج استدعاءات trackException () في شفرتك .
استدعاءات طريقة المراقبة والتبعيات الخارجية
قم بتثبيت عامل Java للأساليب والمكالمات الداخلية المحددة في السجل التي تم إجراؤها من خلال JDBC، مع بيانات التوقيت، ولتسمية العملية التلقائية.
تتبع W3C الموزع
يدعم Application Insights Java SDK الآن تتبع W3C الموزع .
يتم شرح تكوين SDK الوارد بشكل أكبر في ارتباط بيانات تتبع الاستخدام في Application Insights.
يتم تحديد تكوين SDK الصادر في ملف AI-Agent.xml .
عدادات الأداء
حدد Investigate>Metrics لمشاهدة مجموعة من عدادات الأداء.
تخصيص مجموعة عداد الأداء
لتعطيل مجموعة المجموعة القياسية من عدادات الأداء، أضف الشفرة التالية أسفل العقدة الجذرية لملف ApplicationInsights.xml:
<PerformanceCounters>
<UseBuiltIn>False</UseBuiltIn>
</PerformanceCounters>
جمع المزيد من عدادات الأداء
يمكنك تحديد المزيد من عدادات الأداء التي سيتم جمعها.
عدادات JMX (التي يعرضها جهاز Java الظاهري)
<PerformanceCounters>
<Jmx>
<Add objectName="java.lang:type=ClassLoading" attribute="TotalLoadedClassCount" displayName="Loaded Class Count"/>
<Add objectName="java.lang:type=Memory" attribute="HeapMemoryUsage.used" displayName="Heap Memory Usage-used" type="composite"/>
</Jmx>
</PerformanceCounters>
-
displayName
: الاسم المعروض في مدخل Application Insights. -
objectName
: اسم كائن JMX. -
attribute
: سمة اسم كائن JMX المراد إحضاره. -
type
(اختياري): نوع سمة كائن JMX:- الافتراضي: نوع بسيط، مثل int أو long.
-
composite
: بيانات عداد perf بتنسيقAttribute.Data
. -
tabular
: بيانات عداد الأداء بتنسيق صف جدول.
عدادات أداء Windows
يعد كل عداد أداء Windows عضوًا في فئة ما (بنفس الطريقة التي يكون بها الحقل عضوًا في الفصل). يمكن أن تكون الفئات إما عمومية أو تحتوي على مثيلات ذات تعداد رقمي أو مسمى.
<PerformanceCounters>
<Windows>
<Add displayName="Process User Time" categoryName="Process" counterName="%User Time" instanceName="__SELF__" />
<Add displayName="Bytes Printed per Second" categoryName="Print Queue" counterName="Bytes Printed/sec" instanceName="Fax" />
</Windows>
</PerformanceCounters>
-
displayName
: الاسم المعروض في مدخل Application Insights. -
categoryName
: فئة عداد الأداء (عنصر الأداء) التي يرتبط بها عداد الأداء هذا. -
counterName
: اسم عداد الأداء. -
instanceName
: اسم مثيل فئة عداد الأداء أو سلسلة فارغة ("")، إذا كانت الفئة تحتوي على مثيل واحد. إذا كانcategoryName
هوProcess
وكان عداد الأداء الذي تريد جمعه من عملية JVM الحالية التي يعمل عليها تطبيقك، فحدد"__SELF__"
.
عدادات أداء يونكس
تثبيت تم جمعه باستخدام المكون الإضافي Application Insights للحصول على مجموعة واسعة من بيانات النظام والشبكة.
الحصول على بيانات المستخدم وجلسة العمل
الآن أنت ترسل بيانات تتبع الاستخدام من خادم الويب الخاص بك. للحصول على طريقة العرض الكاملة 360 درجة للتطبيق الخاص بك، يمكنك إضافة المزيد من المراقبة:
- أضف التتبع عن بُعد إلى صفحات الويب الخاصة بك لمراقبة مشاهدات الصفحة ومقاييس المستخدم.
- قم بإعداد اختبارات الويب للتأكد من أن التطبيق الخاص بك يظل نشطًا ومتجاوبًا.
إرسال القياس عن بُعد الخاص بك
الآن بعد أن قمت بتثبيت SDK، يمكنك استخدام واجهة برمجة التطبيقات لإرسال بيانات تتبع الاستخدام الخاصة بك:
- تتبع الأحداث والمقاييس المخصصة لمعرفة ما يفعله المستخدمون بتطبيقك.
- ابحث عن الأحداث والسجلات للمساعدة في تشخيص المشكلات.
توفر اختبارات الويب
يمكن لـ Application Insights اختبار موقع الويب الخاص بك على فترات منتظمة للتحقق من أنه يعمل ويستجيب بشكل جيد.
تعرف على المزيد حول كيفية إعداد اختبارات ويب التوفر.
استكشاف الأخطاء وإصلاحها
راجع «dedicated troubleshooting article».
اختبار الاتصال بين مضيف التطبيق وخدمة الاستيعاب
ترسل Application Insights SDKs والوكلاء بيانات تتبع الاستخدام للحصول على استيعابها كمكالمات REST إلى نقاط نهاية الاستيعاب الخاصة بنا. يمكنك اختبار الاتصال من خادم الويب أو الجهاز المضيف للتطبيق إلى نقاط نهاية خدمة الاستيعاب باستخدام عملاء REST الأوليين من أوامر PowerShell أو curl. راجع استكشاف أخطاء بيانات تتبع استخدام التطبيق المفقودة وإصلاحها في Azure Monitor Application Insights.
استكشاف سجلات تتبع Java في Application Insights
إذا كنت تستخدم Logback أو Log4J (v1.2 أو v2.0) للتتبع، يمكنك إرسال سجلات التتبع لديك تلقائيًا إلى Application Insights حيث يمكنك استكشافها والبحث فيها.
تلميح
تحتاج إلى تعيين مفتاح تقرير عن حالة النظام Application Insights مرة واحدة فقط لتطبيقك. إذا كنت تستخدم إطار عمل مثل Java Spring، فربما قمت بالفعل بتسجيل المفتاح في مكان آخر في تكوين تطبيقك.
استخدام عامل Application Insights Java
بشكل افتراضي، يلتقط عامل Application Insights Java تلقائيا التسجيل الذي يتم تنفيذه على WARN
المستوى وما فوق.
يمكنك تغيير حد التسجيل الذي يتم التقاطه باستخدام ملف AI-Agent.xml :
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsightsAgent>
<Instrumentation>
<BuiltIn>
<Logging threshold="info"/>
</BuiltIn>
</Instrumentation>
</ApplicationInsightsAgent>
يمكنك تعطيل تسجيل تسجيل عامل Java باستخدام ملف AI-Agent.xml :
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsightsAgent>
<Instrumentation>
<BuiltIn>
<Logging enabled="false"/>
</BuiltIn>
</Instrumentation>
</ApplicationInsightsAgent>
البدائل
بدلا من استخدام عامل Java، يمكنك اتباع هذه الإرشادات.
تثبيت Java SDK
اتبع الإرشادات لتثبيت Application Insights SDK ل Java، إذا لم تكن قد فعلت ذلك بالفعل.
إضافة مكتبات تسجيل إلى المشروع
اختر الطريقة المناسبة لمشروعك.
Maven
إذا تم إعداد مشروعك بالفعل لاستخدام Maven للبناء، فقم بدمج أحد القصاصات البرمجية التالية في ملف pom.xml . ثم قم بتحديث تبعيات المشروع للحصول على الثنائيات وتحميلها.
Logback
<dependencies>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-logging-logback</artifactId>
<version>[2.0,)</version>
</dependency>
</dependencies>
Log4J v2.0
<dependencies>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-logging-log4j2</artifactId>
<version>[2.0,)</version>
</dependency>
</dependencies>
Log4J v1.2
<dependencies>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-logging-log4j1_2</artifactId>
<version>[2.0,)</version>
</dependency>
</dependencies>
Gradle
إذا تم إعداد مشروعك بالفعل لاستخدام Gradle للبناء، أضف أحد الأسطر التالية إلى dependencies
المجموعة في ملف build.gradle . ثم قم بتحديث تبعيات المشروع للحصول على الثنائيات وتحميلها.
Logback
compile group: 'com.microsoft.azure', name: 'applicationinsights-logging-logback', version: '2.0.+'
Log4J v2.0
compile group: 'com.microsoft.azure', name: 'applicationinsights-logging-log4j2', version: '2.0.+'
Log4J v1.2
compile group: 'com.microsoft.azure', name: 'applicationinsights-logging-log4j1_2', version: '2.0.+'
استخدام ارتباط jar
اتبع الإرشادات لتثبيت Application Insights Java SDK يدويا وتنزيل jar. في صفحة Maven Central، حدد jar
الارتباط في قسم التنزيل للملحق المناسب. أضف جرة الملحق التي تم تنزيلها إلى المشروع.
المسجل | تنزيل | المكتبة |
---|---|---|
Logback | Logback appender Jar | applicationinsights-logging-logback |
Log4J v2.0 | Log4J v2 appender Jar | applicationinsights-logging-log4j2 |
Log4j v1.2 | Log4J v1.2 appender Jar | applicationinsights-logging-log4j1_2 |
إضافة الملحق إلى إطار عمل التسجيل
لبدء الحصول على التتبعات، قم بدمج القصاصة البرمجية ذات الصلة بملف تكوين Logback أو Log4J.
Logback
<appender name="aiAppender"
class="com.microsoft.applicationinsights.logback.ApplicationInsightsAppender">
<instrumentationKey>[APPLICATION_INSIGHTS_KEY]</instrumentationKey>
</appender>
<root level="trace">
<appender-ref ref="aiAppender" />
</root>
Log4J v2.0
<Configuration packages="com.microsoft.applicationinsights.log4j.v2">
<Appenders>
<ApplicationInsightsAppender name="aiAppender" instrumentationKey="[APPLICATION_INSIGHTS_KEY]" />
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="aiAppender"/>
</Root>
</Loggers>
</Configuration>
Log4J v1.2
<appender name="aiAppender"
class="com.microsoft.applicationinsights.log4j.v1_2.ApplicationInsightsAppender">
<param name="instrumentationKey" value="[APPLICATION_INSIGHTS_KEY]" />
</appender>
<root>
<priority value ="trace" />
<appender-ref ref="aiAppender" />
</root>
يمكن الرجوع إلى إلحاقات Application Insights بواسطة أي مسجل تم تكوينه وليس بالضرورة بواسطة مسجل الجذر، كما هو موضح في نماذج التعليمات البرمجية السابقة.
استكشف تتبعاتك في مدخل Application Insights
الآن بعد أن قمت بتكوين مشروعك لإرسال تتبعات إلى Application Insights، يمكنك عرض هذه التتبعات والبحث فيها في مدخل Application Insights في جزء البحث .
سيتم عرض الاستثناءات المرسلة عبر المسجلين على المدخل كاستثناء بيانات تتبع الاستخدام.
مراقبة التبعيات والاستثناءات التي تم التقاطها وأوقات تنفيذ الأسلوب في تطبيقات الويب Java
إذا كنت قد وضعت علامة على تطبيق Java على الويب باستخدام Application Insights SDK، يمكنك استخدام عامل Java للحصول على رؤى أعمق، دون أي تغييرات في التعليمات البرمجية:
التبعيات: بيانات حول المكالمات التي يقوم بها التطبيق الخاص بك إلى مكونات أخرى، بما في ذلك:
-
استدعاءات HTTP الصادرة: يتم تسجيل المكالمات التي يتم إجراؤها عبر
Apache HttpClient
وOkHttp
وjava.net.HttpURLConnection
. - مكالمات Redis: يتم التقاط المكالمات التي يتم إجراؤها عبر عميل Jedis.
- استعلامات JDBC: بالنسبة إلى MySQL وPostgreSQL، إذا استغرق الاستدعاء أكثر من 10 ثوان، يقوم العامل بالإبلاغ عن خطة الاستعلام.
-
استدعاءات HTTP الصادرة: يتم تسجيل المكالمات التي يتم إجراؤها عبر
تسجيل التطبيق: التقاط سجلات التطبيق وربطها بطلبات HTTP وبيانات تتبع الاستخدام الأخرى:
- لوجي 4ج 1.2
- لوجي4j2
- تسجيل الدخول
تسمية أفضل للعملية: تستخدم لتجميع الطلبات في المدخل.
-
Spring: استنادا إلى
@RequestMapping
. -
JAX-RS: استنادا
@Path
إلى .
-
Spring: استنادا إلى
لاستخدام عامل Java، يمكنك تثبيته على الخادم الخاص بك. يجب أن تكون تطبيقات الويب الخاصة بك مزودة بتطبيق Insights Java SDK.
تثبيت وكيل Application Insights لـ Java
على الجهاز الذي يعمل بخادم Java، قم بتنزيل عامل 2.x. تأكد من أن إصدار عامل Java 2.x الذي تستخدمه يطابق إصدار 2.x Application Insights Java SDK الذي تستخدمه.
تحرير البرنامج النصي بدء تشغيل ملقم التطبيق وإضافة الوسيطة JVM التالية:
-javaagent:<full path to the agent JAR file>
على سبيل المثال، في Tomcat على جهاز Linux:
export JAVA_OPTS="$JAVA_OPTS -javaagent:<full path to agent JAR file>"
أعد تشغيل خادم التطبيق.
تكوين العامل
إنشاء ملف باسم AI-Agent.xml ووضعه في نفس المجلد مثل ملف jar العامل.
تعيين محتوى ملف XML. تحرير المثال التالي لتضمين أو حذف الميزات التي تريدها.
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsightsAgent>
<Instrumentation>
<BuiltIn enabled="true">
<!-- capture logging via Log4j 1.2, Log4j2, and Logback, default is true -->
<Logging enabled="true" />
<!-- capture outgoing HTTP calls performed through Apache HttpClient, OkHttp,
and java.net.HttpURLConnection, default is true -->
<HTTP enabled="true" />
<!-- capture JDBC queries, default is true -->
<JDBC enabled="true" />
<!-- capture Redis calls, default is true -->
<Jedis enabled="true" />
<!-- capture query plans for JDBC queries that exceed this value (MySQL, PostgreSQL),
default is 10000 milliseconds -->
<MaxStatementQueryLimitInMS>1000</MaxStatementQueryLimitInMS>
</BuiltIn>
</Instrumentation>
</ApplicationInsightsAgent>
مزيد من التكوين (Spring Boot)
java -javaagent:/path/to/agent.jar -jar path/to/TestApp.jar
بالنسبة إلى Azure App Service، اتبع الخطوات التالية:
حدد إعدادات>إعدادات التطبيق.
ضمن App Settings، أضف زوجا جديدا من قيم المفاتيح:
-
المفتاح:
JAVA_OPTS
-
القيمة:
-javaagent:D:/home/site/wwwroot/applicationinsights-agent-2.6.4.jar
يجب حزم العامل كمورد في مشروعك بحيث ينتهي به الأمر في الدليل D:/home/site/wwwroot/ . للتأكد من أن وكيلك موجود في دليل App Service الصحيح، انتقل إلى Development Tools>Advanced Tools>Debug Console وافحص محتويات دليل الموقع.
-
المفتاح:
احفظ الإعدادات وأعد تشغيل التطبيق. تنطبق هذه الخطوات فقط على خدمات التطبيقات التي تعمل على Windows.
ملاحظة
يجب أن يكون AI-Agent.xml وملف jar العامل في نفس المجلد. غالبا ما يتم وضعها معا في مجلد /resources للمشروع.
تمكين تتبع W3C الموزع
أضف القصاصة البرمجية التالية إلى AI-Agent.xml:
<Instrumentation>
<BuiltIn enabled="true">
<HTTP enabled="true" W3C="true" enableW3CBackCompat="true"/>
</BuiltIn>
</Instrumentation>
ملاحظة
يتم تمكين وضع التوافق مع الإصدارات السابقة بشكل افتراضي. المعلمة enableW3CBackCompat
اختيارية ويجب استخدامها فقط عندما تريد إيقاف تشغيلها.
من الناحية المثالية، سيكون هذا هو الحال عندما يتم تحديث جميع خدماتك إلى إصدارات أحدث من SDKs التي تدعم بروتوكول W3C. نوصي بالانتقال إلى إصدارات أحدث من SDKs مع دعم W3C في أقرب وقت ممكن.
تأكد من أن كل من التكوينات الواردة والصادرة (العامل) هي نفسها تماما.
عرض البيانات
في مورد Application Insights، تظهر التبعية المجمعة عن بعد وأوقات تنفيذ الأسلوب ضمن لوحة للأداء.
للبحث عن مثيلات فردية لتقارير التبعية والاستثناء والأسلوب، افتح البحث.
تعرف على المزيد حول كيفية تشخيص مشكلات التبعية.
أسئلة أو مشاكل؟
استخدم الموارد التالية:
- ألا توجد بيانات أخرى؟ تعيين استثناءات جدار الحماية.
- استكشاف أخطاء Java وإصلاحها.
تصفية بيانات تتبع الاستخدام عن بعد في تطبيق Java على الويب
توفر عوامل التصفية طريقة لتحديد التتبع عن بُعد الذي يرسله تطبيق Java على الويب إلى Application Insights. هناك بعض عوامل التصفية الجاهزة التي يمكنك استخدامها. يمكنك أيضا كتابة عوامل التصفية المخصصة الخاصة بك.
تحتوي عوامل التصفية الجاهزة ما يلي:
- تتبع مستوى الخطورة.
- عناوين URL أو كلمات أساسية أو رموز استجابة محددة.
- الاستجابات السريعة. بمعنى آخر، الطلبات التي استجاب لها تطبيقك بسرعة.
- أسماء أحداث محددة.
ملاحظة
تحرف عوامل التصفية مقاييس تطبيقك. على سبيل المثال، قد تقرر أنه لتشخيص الاستجابات البطيئة، ستقوم بتعيين عامل تصفية لتجاهل أوقات الاستجابة السريعة. ولكن يجب أن تدرك أن متوسط أوقات الاستجابة التي تم الإبلاغ عنها بواسطة Application Insights سيكون بعد ذلك أبطأ من السرعة الحقيقية. أيضا، سيكون عدد الطلبات أصغر من العدد الحقيقي.
إذا وجد أن هذا مصدر قلق، فاستخدمأخذ العيناتبدلاً من ذلك.
تعيين عوامل التصفية
في ApplicationInsights.xml، أضف قسما TelemetryProcessors
مثل هذا المثال:
<ApplicationInsights>
<TelemetryProcessors>
<BuiltInProcessors>
<Processor type="TraceTelemetryFilter">
<Add name="FromSeverityLevel" value="ERROR"/>
</Processor>
<Processor type="RequestTelemetryFilter">
<Add name="MinimumDurationInMS" value="100"/>
<Add name="NotNeededResponseCodes" value="200-400"/>
</Processor>
<Processor type="PageViewTelemetryFilter">
<Add name="DurationThresholdInMS" value="100"/>
<Add name="NotNeededNames" value="home,index"/>
<Add name="NotNeededUrls" value=".jpg,.css"/>
</Processor>
<Processor type="TelemetryEventFilter">
<!-- Names of events we don't want to see -->
<Add name="NotNeededNames" value="Start,Stop,Pause"/>
</Processor>
<!-- Exclude telemetry from availability tests and bots -->
<Processor type="SyntheticSourceFilter">
<!-- Optional: specify which synthetic sources,
comma-separated
- default is all synthetics -->
<Add name="NotNeededSources" value="Application Insights Availability Monitoring,BingPreview"
</Processor>
</BuiltInProcessors>
<CustomProcessors>
<Processor type="com.fabrikam.MyFilter">
<Add name="Successful" value="false"/>
</Processor>
</CustomProcessors>
</TelemetryProcessors>
</ApplicationInsights>
افحص المجموعة الكاملة من المعالجات المضمنة.
عوامل تصفية مدمجة
يناقش هذا القسم عوامل التصفية المضمنة المتوفرة.
مرشح القياس عن بُعد
<Processor type="MetricTelemetryFilter">
<Add name="NotNeeded" value="metric1,metric2"/>
</Processor>
-
NotNeeded
: قائمة مفصولة بفواصل لأسماء المقاييس المخصصة
تصفية بيانات تتبع الاستخدام لعرض الصفحة
<Processor type="PageViewTelemetryFilter">
<Add name="DurationThresholdInMS" value="500"/>
<Add name="NotNeededNames" value="page1,page2"/>
<Add name="NotNeededUrls" value="url1,url2"/>
</Processor>
-
DurationThresholdInMS
: تشير المدة إلى الوقت المستغرق لتحميل الصفحة. إذا تم تعيين هذه المعلمة، فلن يتم الإبلاغ عن الصفحات التي تم تحميلها بشكل أسرع من هذا الوقت. -
NotNeededNames
: قائمة مفصولة بفواصل بأسماء الصفحات. -
NotNeededUrls
: قائمة مفصولة بفواصل لأجزاء URL. على سبيل المثال، "home"
تتم تصفية كافة الصفحات التي تحتوي على "الصفحة الرئيسية" في URL.
طلب عامل تصفية بيانات تتبع الاستخدام
<Processor type="RequestTelemetryFilter">
<Add name="MinimumDurationInMS" value="500"/>
<Add name="NotNeededResponseCodes" value="page1,page2"/>
<Add name="NotNeededUrls" value="url1,url2"/>
</Processor>
تصفية المصدر الاصطناعي
تصفية جميع بيانات تتبع الاستخدام التي تحتوي على قيم في الخاصية SyntheticSource
. يتم تضمين الطلبات من الروبوتات والعناكب واختبارات التوفر.
تصفية بيانات تتبع الاستخدام لجميع الطلبات الاصطناعية:
<Processor type="SyntheticSourceFilter" />
تصفية بيانات تتبع الاستخدام لمصادر اصطناعية محددة:
<Processor type="SyntheticSourceFilter" >
<Add name="NotNeeded" value="source1,source2"/>
</Processor>
-
NotNeeded
: قائمة مفصولة بفواصل بأسماء المصادر الاصطناعية
تصفية حدث بيانات تتبع الاستخدام
تصفية الأحداث المخصصة التي تم تسجيلها باستخدام TrackEvent():
<Processor type="TelemetryEventFilter" >
<Add name="NotNeededNames" value="event1, event2"/>
</Processor>
-
NotNeededNames
: قائمة بأسماء الأحداث مفصولة بفواصل
تتبع المكدس لتصفية بيانات تتبع الاستخدام
تصفية تتبعات السجل التي تم تسجيلها باستخدام TrackTrace() أو جامع إطار عمل التسجيل:
<Processor type="TraceTelemetryFilter">
<Add name="FromSeverityLevel" value="ERROR"/>
</Processor>
القيم الصالحة
FromSeverityLevel
هي:- إيقاف التشغيل: يقوم بتصفية جميع التتبعات.
- TRACE: لا توجد تصفية. يساوي مستوى TRACE.
- INFO: يقوم بتصفية مستوى TRACE.
- تحذير: يقوم بتصفية TRACE وINFO.
- خطأ: يقوم بتصفية WARN و INFO و TRACE.
- CRITICAL: يقوم بتصفية الكل باستثناء CRITICAL.
عوامل تصفية مخصصة
توضح لك الأقسام التالية خطوات إنشاء عوامل التصفية المخصصة الخاصة بك.
ترميز عامل التصفية الخاص بك
في التعليمات البرمجية الخاصة بك، قم بإنشاء فئة التيTelemetryProcessor
تنفذ:
package com.fabrikam.MyFilter;
import com.microsoft.applicationinsights.extensibility.TelemetryProcessor;
import com.microsoft.applicationinsights.telemetry.Telemetry;
public class SuccessFilter implements TelemetryProcessor {
/* Any parameters that are required to support the filter.*/
private final String successful;
/* Initializers for the parameters, named "setParameterName" */
public void setNotNeeded(String successful)
{
this.successful = successful;
}
/* This method is called for each item of telemetry to be sent.
Return false to discard it.
Return true to allow other processors to inspect it. */
@Override
public boolean process(Telemetry telemetry) {
if (telemetry == null) { return true; }
if (telemetry instanceof RequestTelemetry)
{
RequestTelemetry requestTelemetry = (RequestTelemetry) telemetry;
return request.getSuccess() == successful;
}
return true;
}
}
استدعاء عامل التصفية في ملف التكوين
الآن، في ApplicationInsights.xml:
<ApplicationInsights>
<TelemetryProcessors>
<CustomProcessors>
<Processor type="com.fabrikam.SuccessFilter">
<Add name="Successful" value="false"/>
</Processor>
</CustomProcessors>
</TelemetryProcessors>
</ApplicationInsights>
استدعاء عامل التصفية (Java Spring)
بالنسبة إلى قاعدة التطبيقات التي تستند إلى إطار عمل Spring، يجب تسجيل معالجات بيانات تتبع الاستخدام المخصصة في فئة التطبيق الرئيسية الخاصة بك على أنها فول. ثم سيتم سحبها تلقائيا عند بدء تشغيل التطبيق.
@Bean
public TelemetryProcessor successFilter() {
return new SuccessFilter();
}
يمكنك إنشاء معلمات عامل التصفية الخاصة بك في application.properties
. ثم يمكنك استخدام إطار عمل التكوين الخارجي ل Spring Boot لتمرير هذه المعلمات إلى عامل التصفية المخصص الخاص بك.
استكشاف الأخطاء وإصلاحها
يقدم هذا القسم تلميح استكشاف الأخطاء وإصلاحها.
عامل التصفية لا يعمل
تحقق من أنك قدمت قيم معلمات صالحة. على سبيل المثال، يتعين أن يكون المدد أعدادًا صحيحة. سينتج عن القيم غير الصالحة تجاهل عامل التصفية. إذا كان عامل التصفية المخصص الخاص بك يطرح استثناء من الدالة الإنشائية أو أسلوب مجموعة، سيتم تجاهله.
تم جمعها: مقاييس أداء Linux في Application Insights (مهمل)
لاستكشاف مقاييس أداء نظام Linux في Application Insights، قم بالتكوين المجمع مع المكون الإضافي Application Insights الخاص به. يقوم هذا الحل مفتوح المصدر بجمع إحصائيات مختلفة للنظام والشبكة.
عادة، ستستخدم collectd
إذا كنت قد قمت بالفعل باستخدام خدمة ويب Java باستخدام Application Insights. فهو يمنحك المزيد من البيانات لمساعدتك على تحسين أداء تطبيقك أو تشخيص المشكلات.
الحصول على مفتاح الأدوات
في مدخل Microsoft Azure، افتح مورد Application Insights حيث تريد أن تظهر البيانات. أو يمكنك إنشاء مورد جديد.
خذ نسخة من مفتاح الأجهزة، الذي يحدد المورد.
تثبيت collectd والمكون الإضافي
على أجهزة خادم Linux:
- قم بتثبيت الإصدار 5.4.0 من collectd أو إصدار أحدث.
- قم بتنزيل المكون الإضافي للكاتب الذي تم جمعه في Application Insights. لاحظ رقم الإصدار.
- انسخ جرة المكون الإضافي إلى
/usr/share/collectd/java
. - تحرير
/etc/collectd/collectd.conf
:تأكد من تمكين المكون الإضافي Java .
قم بتحديث JVMArg لتضمين
java.class.path
jar التالي. تحديث رقم الإصدار ليطابق الإصدار الذي قمت بتنزيله:/usr/share/collectd/java/applicationinsights-collectd-1.0.5.jar
أضف هذه القصاصة البرمجية باستخدام مفتاح تقرير عن حالة النظام من المورد الخاص بك:
LoadPlugin "com.microsoft.applicationinsights.collectd.ApplicationInsightsWriter" <Plugin ApplicationInsightsWriter> InstrumentationKey "Your key" </Plugin>
فيما يلي جزء من عينة ملف تكوين:
... # collectd plugins LoadPlugin cpu LoadPlugin disk LoadPlugin load ... # Enable Java Plugin LoadPlugin "java" # Configure Java Plugin <Plugin "java"> JVMArg "-verbose:jni" JVMArg "-Djava.class.path=/usr/share/collectd/java/applicationinsights-collectd-1.0.5.jar:/usr/share/collectd/java/collectd-api.jar" # Enabling Application Insights plugin LoadPlugin "com.microsoft.applicationinsights.collectd.ApplicationInsightsWriter" # Configuring Application Insights plugin <Plugin ApplicationInsightsWriter> InstrumentationKey "12345678-1234-1234-1234-123456781234" </Plugin> # Other plugin configurations ... ... </Plugin> ...
تكوين المكونات الإضافية الأخرى التي تم جمعها، والتي يمكنها جمع بيانات مختلفة من مصادر مختلفة.
أعد التشغيل collectd
وفقا لدليله.
عرض البيانات في Application Insights
في مورد Application Insights، افتح Metrics وأضف المخططات. حدد المقاييس التي تريد رؤيتها من الفئة المخصصة .
تُجمع هذه القياسات بشكل افتراضي عبر جميع الأجهزة المضيفة التي تم جمع القياسات منها. لعرض المقاييس لكل مضيف، في جزء تفاصيل المخطط ، قم بتشغيل التجميع، ثم اختر التجميع حسب CollectD-Host.
استبعاد تحميل إحصائيات محددة
بشكل افتراضي، يرسل المكون الإضافي Application Insights جميع البيانات التي تم جمعها بواسطة جميع المكونات الإضافية الممكنة collectd read
.
لاستبعاد البيانات من مكونات إضافية أو مصادر بيانات معينة:
قم بتحرير ملف التكوين.
في
<Plugin ApplicationInsightsWriter>
، أضف خطوط التوجيه مثل تلك الموجودة في الجدول التالي:التوجيه التأثير Exclude disk
استبعاد جميع البيانات التي تم جمعها بواسطة disk
المكون الإضافي.Exclude disk:read,write
استبعاد المصادر المسماة read
disk
ومنwrite
المكون الإضافي.
توجيهات منفصلة في سطر جديد.
هل من مشكلات؟
يقدم هذا القسم تلميحات حول استكشاف الأخطاء وإصلاحها.
لا أرى البيانات في المدخل
جرب هذه الخيارات:
- افتح البحث لمعرفة ما إذا كانت الأحداث الأولية قد وصلت أم لا. أحياناً يستغرق الأمر وقتاً أطول للظهور في مستكشف القياسات.
- قد تحتاج إلى تعيين استثناءات جدار الحماية للبيانات الصادرة.
- تمكين التتبع في المكون الإضافي Application Insights. أضف هذا السطر في
<Plugin ApplicationInsightsWriter>
:SDKLogger true
- افتح محطة طرفية وابدأ
collectd
في الوضع المطول للاطلاع على أي مشكلات يقوم بالإبلاغ عنها:sudo collectd -f
مشكلة معروفة
المكون الإضافي لكتابة Application Insights غير متوافق مع بعض المكونات الإضافية للقراءة. ترسل NaN
بعض المكونات الإضافية أحيانا ، ولكن المكون الإضافي Application Insights يتوقع رقم نقطة عائمة.
-
الأعراض:
collectd
يعرض السجل الأخطاء التي تتضمن "الذكاء الاصطناعي: ... بناء الجملةError: رمز مميز غير متوقع N." - الحل البديل: استبعاد البيانات التي تم جمعها بواسطة المكونات الإضافية لكتابة المشكلة.
استخدام Micrometer مع Application Insights Java SDK (غير مستحسن)
تقيس مراقبة تطبيق الميكرومتر القياسات الخاصة برمز التطبيق المستند إلى JVM وتتيح لك تصدير البيانات إلى أنظمة المراقبة المفضلة لديك. يعلمك هذا القسم كيفية استخدام Micrometer مع Application Insights لكل من Spring Boot والتطبيقات غير Spring Boot.
استخدام Spring Boot 1.5x
أضف التبعيات التالية إلى ملف pom.xml أو build.gradle :
- Application Insights spring-boot-starter 2.5.0 أو أحدث.
- Micrometer Azure Registry 1.1.0 أو أعلى.
- Micrometer Spring Legacy 1.1.0 أو أعلى. يقوم بنسخ التعليمات البرمجية الخاصة بالتكوين التلقائي في إطار عمل Spring.
- مورد ApplicationInsights.
اتبع هذه الخطوات:
قم بتحديث ملف pom.xml لتطبيق Spring Boot الخاص بك وأضف التبعيات التالية فيه:
<dependency> <groupId>com.microsoft.azure</groupId> <artifactId>applicationinsights-spring-boot-starter</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-spring-legacy</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-azure-monitor</artifactId> <version>1.1.0</version> </dependency>
قم بتحديث ملف application.properties أو YML باستخدام مفتاح تقرير عن حالة النظام Application Insights باستخدام الخاصية التالية:
azure.application-insights.instrumentation-key=<your-instrumentation-key-here>
إنشاء التطبيق الخاص بك وتشغيله.
يجب أن تساعدك الخطوات السابقة على تشغيل المقاييس المجمعة مسبقا تلقائيا إلى Azure Monitor.
استخدام Spring 2.x
أضف التبعيات التالية إلى ملف pom.xml أو build.gradle :
- Application Insights Spring-boot-starter 2.1.2 أو أعلى
- بادئات Azure-spring-boot-metrics-2.0.7 أو أحدث
- مورد Application Insights
اتبع هذه الخطوات:
قم بتحديث ملف pom.xml لتطبيق Spring Boot الخاص بك وأضف التبعية التالية فيه:
<dependency> <groupId>com.microsoft.azure</groupId> <artifactId>azure-spring-boot-metrics-starter</artifactId> <version>2.0.7</version> </dependency>
قم بتحديث ملف application.properties أو YML باستخدام مفتاح تقرير عن حالة النظام Application Insights باستخدام الخاصية التالية:
azure.application-insights.instrumentation-key=<your-instrumentation-key-here>
إنشاء التطبيق الخاص بك وتشغيله.
يجب أن تساعدك الخطوات السابقة على التشغيل باستخدام المقاييس المجمعة مسبقا التي تم تجميعها تلقائيا إلى Azure Monitor. لمزيد من المعلومات حول كيفية ضبط بداية Application Insights Spring Boot، راجع readme على GitHub.
المقاييس الافتراضية:
- مقاييس مكونة تلقائيا ل Tomcat وJVM وLogback Metrics وLog4J Metrics ومقاييس وقت التشغيل ومقاييس المعالج وFileDescriptorMetrics.
- على سبيل المثال، إذا كانت Netflix Hystrix موجودة على مسار الفصل الدراسي، فسنحصل على هذه المقاييس أيضا.
- يمكن أن تكون المقاييس التالية متاحة عن طريق إضافة الفاصوليا المعنية:
-
CacheMetrics
(CaffeineCache
وEhCache2
GuavaCache
وHazelcastCache
و وJCache
) DataBaseTableMetrics
HibernateMetrics
JettyMetrics
-
OkHttp3
المقاييس -
Kafka
المقاييس
-
إيقاف تشغيل مجموعة المقاييس التلقائية:
- قياسات JVM:
management.metrics.binders.jvm.enabled=false
- قياسات تسجيل الدخول:
management.metrics.binders.logback.enabled=false
- قياسات الاستعداد:
management.metrics.binders.uptime.enabled=false
- قياسات المعالج:
management.metrics.binders.processor.enabled=false
- FileDescriptorMetrics:
management.metrics.binders.files.enabled=false
- مقاييس Hystrix إذا كانت المكتبة على
classpath
:management.metrics.binders.hystrix.enabled=false
- مقاييس AspectJ إذا كانت المكتبة على
classpath
:spring.aop.enabled=false
ملاحظة
حدد الخصائص السابقة في ملف application.properties أو application.yml لتطبيق Spring Boot.
استخدم ميكرومتر مع تطبيقات الويب بخلاف Spring Boot
أضف التبعيات التالية إلى ملف pom.xml أو build.gradle :
- Application Insights Web Auto 2.5.0 أو أحدث
- ميكرومتر Azure Registry 1.1.0 أو أعلى
- مورد Application Insights
اتبع هذه الخطوات:
أضف التبعيات التالية في ملف pom.xml أو build.gradle :
<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-azure-monitor</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>com.microsoft.azure</groupId> <artifactId>applicationinsights-web-auto</artifactId> <version>2.5.0</version> </dependency>
إذا لم تكن قد فعلت ذلك بالفعل، فأضف ملف ApplicationInsights.xml في مجلد الموارد. لمزيد من المعلومات، راجع إضافة ملف ApplicationInsights.xml.
نموذج فئة Servlet (يصدر مقياس مؤقت):
@WebServlet("/hello") public class TimedDemo extends HttpServlet { private static final long serialVersionUID = -4751096228274971485L; @Override @Timed(value = "hello.world") protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().println("Hello World!"); MeterRegistry registry = (MeterRegistry) getServletContext().getAttribute("AzureMonitorMeterRegistry"); //create new Timer metric Timer sampleTimer = registry.timer("timer"); Stream<Integer> infiniteStream = Stream.iterate(0, i -> i+1); infiniteStream.limit(10).forEach(integer -> { try { Thread.sleep(1000); sampleTimer.record(integer, TimeUnit.MILLISECONDS); } catch (Exception e) {} }); } @Override public void init() throws ServletException { System.out.println("Servlet " + this.getServletName() + " has started"); } @Override public void destroy() { System.out.println("Servlet " + this.getServletName() + " has stopped"); } }
فئة التكوين النموذجية:
@WebListener public class MeterRegistryConfiguration implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { // Create AzureMonitorMeterRegistry private final AzureMonitorConfig config = new AzureMonitorConfig() { @Override public String get(String key) { return null; } @Override public Duration step() { return Duration.ofSeconds(60);} @Override public boolean enabled() { return false; } }; MeterRegistry azureMeterRegistry = AzureMonitorMeterRegistry.builder(config); //set the config to be used elsewhere servletContextEvent.getServletContext().setAttribute("AzureMonitorMeterRegistry", azureMeterRegistry); } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { } }
لمعرفة المزيد حول المقاييس، راجع وثائق Micrometer.
يمكن العثور على نموذج التعليمة البرمجية الأخرى بشأن كيفية إنشاء أنواع مختلفة من القياسات في مستودع Micrometer GitHub الرسمي.
ربط المزيد من مجموعة المقاييس
توضح لك الأقسام التالية كيفية جمع المزيد من المقاييس.
SpringBoot/Spring
أنشئ وحدة من فئة المقياس المعني. على سبيل المثال، لنفترض أنك بحاجة إلى مقاييس ذاكرة التخزين المؤقت ل Guava:
@Bean
GuavaCacheMetrics guavaCacheMetrics() {
Return new GuavaCacheMetrics();
}
لا يتم تمكين العديد من المقاييس بشكل افتراضي ولكن يمكن ربطها بالطريقة السابقة. للحصول على قائمة كاملة، راجع مستودع Micrometer GitHub.
تطبيقات Non-Spring
أضف تعليمة الربط البرمجية التالية إلى ملف التكوين:
New GuavaCacheMetrics().bind(registry);
الخطوات التالية
- أضف مراقبة إلى صفحات الويب لمراقبة أوقات تحميل الصفحة ومكالمات AJAX واستثناءات المستعرض.
- اكتب قياسًا مخصصًا عن بُعد لتتبع الاستخدام في المتصفح أو على الخادم.
- استخدم Log Analytics للاستعلامات القوية عبر بيانات تتبع الاستخدام من تطبيقك.
- استخدم البحث التشخيصي.
- ضع في اعتبارك أخذ العينات كبديل للتصفية التي لا تحرف مقاييسك.
- لمعرفة المزيد حول Micrometer، راجع وثائق Micrometer.
- للتعرف على Spring on Azure، راجع وثائق Spring on Azure.
- لمزيد من المعلومات، راجع Azure لمطوري Java.