SPRING-Actuator هي وحدة متكاملة من الظهر الربيعي لمراقبة التطبيق. يوفر الدعم لمراقبة الخادم لدينا ، مما يتيح لنا الحصول على تكوين التطبيق بشكل أكثر حدًا ، ومتغيرات البيئة ، وتقارير التكوين الآلية ، وما إلى ذلك.
باستخدام spring-actuator
1. إدخال تبعيات Maven
<!-وحدة المراقبة والإدارة-> <reperency> <roupiD> org.springframework.boot </groupId> <StifactId> spring-boot-starter-actuator </stifactid> </rependency>
بعد إدخال التبعيات ، ابدأ المشروع.
سيتم طباعة عنوان URL الذي نحتاجه عندما يبدأ المشروع
2018-03-26 23: 19: 00.169 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/env/ {name java.lang.object org.springframework.boot.actuate.endpoint.mvc.environmentmvcendpoint.value (java.lang.string)
2018-03-26 23: 19: 00.169 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/env || /env.json/10. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.170 info 6148 --- [Main] Osbaemvc.endpointhandlermapping: medped "{[/trace || /trace.json/201،methods= budapget. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.170 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/dump || /dump.json/1201،methods= budapget. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.171 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/uckedvents || /auditevents.json/Methods= Budapget/ org.springframework.http.Responseentity <؟> org.springframework.boot.endpoint.mvc.auditeventsmvcendpoint.findberrincipalandafterandtype (java.lang.string ، java.util.date ،
2018-03-26 23: 19: 00.171 info 6148 --- java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.172 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/autoconfig على java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/Metrics/ {name java.lang.object org.springframework.boot.actuate.endpoint.mvc.metricsmvcendpoint.value (java.lang.string)
2018-03-26 23: 19: 00.173 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/metrics || /metrics.json/MSTODS= Budapget/ java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 info 6148 --- org.springframework.cloud.endpoint.genericpostableMvCendPoint.invoke ()
2018-03-26 23: 19: 00.174 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/service-registry/status] ، methods = [post]}" على org.springframework.http.responseitiety <؟> org.springframework.cloud.client.serviceregistry.endpoint.serviceregistrying.setstatus (java.lang.string)
2018-03-26 23: 19: 00.174 info 6148 --- [main] osbaemvc.endpointhandlermapping: medped "{[/service-registry/status] ، methods = [get]}" على org.springframework.http.responseentity org.springframework.cloud.client.serviceregistry.endpoint.serviceRegistrying.getStatus ()
2018-03-26 23: 19: 00.175 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/loggers/ {name java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvcendpoint.get (java.lang.string)
2018-03-26 23: 19: 00.175 info 6148 --- [Main] Osbaemvc.endpointhandlermapping: medped "{[/loggers/ {name application/json] ، ينتج = [application/vnd.spring-boot.actuator.v1+json || java.lang.string>)
2018-03-26 23: 19: 00.175 Info 6148 --- java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.176 info 6148 --- org.springframework.boot.actuate.endpoint.mvc.heapdumpmvcendpoint.invoke (boolean ، javax.servlet.http.httpservletrequest ، javax.servlet.http.htttpletresponse) throws java.ioexception
2018-03-26 23: 19: 00.176 info 6148 --- org.springframework.cloud.endpoint.genericpostableMvCendPoint.invoke ()
2018-03-26 23: 19: 00.177 info 6148 --- org.springframework.cloud.endpoint.genericpostableMvCendPoint.invoke ()
2018-03-26 23: 19: 00.178 info 6148 --- [main] osbaemvc.endpointhandlermapping: medped "{[/configprops ||/configprops.json json،methods= budapget/ java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.178 info 6148 --- [Main] Osbaemvc.endpointhandlermapping: medped "{[/archaius || /Archaius.json/MSTODS= Budapget. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.179 info 6148 --- [Main] Osbaemvc.endpointhandlermapping: medped "{[/health ||/health.json. java.lang.object org.springframework.boot.actuate.endpoint.mvc.HealthMvCendPoint.invoke (javax.servlet.http.httpservletrequest ، java.security.principal)
2018-03-26 23: 19: 00.179 info 6148 --- org.springframework.cloud.context.environment.environmentManagerMvCendPoint.value (java.util.map <java.lang.string ، java.lang.string>)
2018-03-26 23: 19: 00.179 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/env/reset] ، method org.springframework.cloud.context.environment.environmentManagerMvCendpoint.reset ()
2018-03-26 23: 19: 00.179 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/features || /features.json/1201،methods= budapget. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.180 info 6148 --- org.springframework.cloud.context.restart.restartmvcendpoint.invoke ()
2018-03-26 23: 19: 00.181 info 6148 --- [Main] Osbaemvc.endpointhandlermapping: medped "{[/entity ||/entity.json. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.181 info 6148 --- [main] Osbaemvc.endpointhandlermapping: medped "{[/info || /info.json/201،methods= budapget. java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.193 info 6148 --- [main] SWSMMAREQUESTMAPPINGHANDLERMPAPPER: medped "{[/error]}" على java.util.map public <java.lang.string ، java.lang.object> org.springframework.boot.actuate.endpoint.mvc.managementerrorendpoint.invoke ()
2. تكوين ملف تكوين YML
(1) تكوين رقم المنفذ ولا تمكّن وحدة وظيفية معينة
#Development رقم منفذ ، إن لم يكن ، هو نفس خادم الخادم.
يشير التكوين أعلاه إلى أن المنفذ المكون هو منفذ HTTP 4321 وأن الوظيفة الصحية معروفة.
(2) تعديل مسار التعيين
#تعديل مسار معرف التعيين لنقاط نهاية التكوين: الفاصوليا: المعرف: كيان
التكوين أعلاه يعني تغيير المسار لإنشاء الفاصوليا بواسطة /الفاصوليا إلى /كيان
(3) تكوين تكوين أمان المشغل
مطلوب ربيع الأمن
إدخال التبعيات
<!-لمصادقة حساب الوصول إلى مركز التسجيل-> <Rependency> <roupiD> org.springframework.boot </groupId> <StifactId> spring-boot-starter-security </stifactid> </sperency>
تكوين كلمة مرور الحساب:
الأمان: أساسي: #represents لتمكين مصادقة كلمة مرور الحساب الممكّن: حساب #Configure True وكلمة المرور المستخدم: الاسم: كلمة مرور الجذر: 123
بعد تكوين كلمة مرور الحساب ، يمكنك الوصول إليها من خلال http://127.0.0.1:4321 ، وإدخال الحساب وكلمة المرور المكوّنة. يكون صحيحًا عندما لا يتم إغلاق المتصفح مرة واحدة.
(4) عرض رسالة العرض بتنسيق JSON
عرض تنسيق JSON له قابلية للقراءة والجمال بشكل أفضل
#print الحزمة التي يعرضها Acyuator في JSON Format Spring: Jackson: Serialization: Padent-Output: True
أضف التكوين أعلاه إلى ملف Application.YML
3. تكوين فئة بدء التشغيل
@springbootapplication@enableeurekaserver // يمثل هذا التعليق التوضيحي الخط مكونًا مسجلًا للخدمة. لا ينطبق هذا التعليق التوضيحي إلا على eurekapublic class eurekaserverapplication {public static void main (string [] args) {springapplication.run (eurekaserverapplication.class ، args) ؛ }}تشغيل بدون تكوين
4. بعض وحدات التكوين الرئيسية
| طريقة طلب HTTP | طريق | يصف |
| يحصل | /autoconfig | تستخدم للحصول على معلومات التكوين الآلية للتطبيق |
| يحصل | /فول | تستخدم للحصول على جميع الفاصوليا التي يتم إنشاؤها بواسطة سياق التطبيق |
| يحصل | /configprops | احصل على تقرير معلومات السمة التي تم تكوينها في التطبيق |
| يحصل | /بيئة | تستخدم للحصول على جميع تقارير السمات المتغيرة للبيئة المتاحة للتطبيق |
| يحصل | /تعيينات | تقرير علاقة تعيين وحدة التحكم للحصول على جميع springmvc |
| يحصل | /معلومات | تستخدم للحصول على معلومات تخصيص التطبيق |
(1) /autoconfig
هناك عقدان رئيسيان تحت هذا التكوين.
positivematches: إرجاع معلومات التكوين التلقائي لمطابقة الحالة الناجحة
NegativeMatches: إرجاع معلومات التكوين التي تطابقها غير ناجحة
(2) /الفول
يتم استخدام ملف التكوين هذا لعرض كائنات الفول التي تم تحميلها بواسطة سياق تطبيق ApplicationContext ، بما في ذلك العقد التالية:
"السياق": "bootstrap" ، "Parent": Null ، "Beans": [{"Bean": "PropertySourceBootStrapConfiguration" ، "alases": [] ، "Scope": "Singleton" ، "type": type: "org.springframework.cloud.bootstrap.config.PropertySourceBootSstrapConfiguration $$ ensancerByspringCglib $$ 82FDF928" ، "Resource": "NULL" ، "REPENSIES": []}]Beans عبارة عن مجموعة من الفئات المحملة في سياق التطبيق ، والتي تتضمن العلامات التالية:
1) ، الفول: اسم الفول الذي تم إنشاؤه بواسطة سياق التطبيق
2) النطاق: نطاق الفول الذي تم إنشاؤه
Singleton: Singleton ، هو النطاق الافتراضي للربيع
النموذج الأولي: كل طلب سيولد مثيلًا جديدًا ، وهو ما يعادل العملية الجديدة
الطلب: سيقوم كل طلب HTTP بإنشاء مثيل جديد ، والفاصوليا الحالية صالحة فقط في نفس httprequest
الجلسة: صالحة في نفس httpsession
3) ، النوع: نوع الفول المستخدم في إدارة السياق
اسم الفصل المؤهل بالكامل للفصل
4) المورد: المسار المحدد لملف الفئة
5) التبعيات: اسم حبة التبعية ، أي اسم الفاصوليا المرتبطة في الفول
(3) /configprops: احصل على تقرير معلومات السمة التي تم تكوينها في التطبيق
هناك عقدان طفل أدناه
البادئة: تكوين بادئة للسمات
الخصائص: تمثل أسماء وقيم كل خاصية
(4) /env يستخدم للحصول على تقرير السمة المتغير للبيئة لسياق التطبيق ، مثل متغيرات البيئة ، سمات JVM ، معلومات تكوين التطبيق ، المعلمات في سطر الأوامر ، إلخ.
1) Server.ports تمثل رقم المنفذ الذي تم تكوينه بواسطة التطبيق
2) SystemProperties تحصل على JVM وغيرها من المعلومات للتطبيق
(5) /تقرير رسم خرائط تحكم SPRINGMVC ،
{"} org.springframework.boot.autoconfigure.web.basicerrorcontroller.error (javax.servlet.http.httpservletrequest) "}}1) /خطأ يمثل مسار تعيين springMVC
2) /يمثل الفول الفئة المستخدمة لرسم خرائط لمعالج
3) /تمثل الطريقة الطريقة في فئة التعيين
(6) يتم استخدام المعلومات للحصول على معلومات التكوين المخصصة التي تم تكوينها في application.yml
5. تكوين المقاييس
يتم تغيير محتوى التقرير المقدم من المقاييس ديناميكيًا ويوفر بعض معلومات اللقطة ؛ مثل استخدام الذاكرة ، وعد طلب HTTP ، وإحصائيات مؤشر الموارد الخارجية ، إلخ.
(1) /يعيد المقاييس العديد من المقاييس المهمة المطبقة حاليًا. هناك المحتويات التالية
1) معلومات النظام: المعالجات --- عدد المعالجات
مثيل
SystemLoad.Average -متوسط تحميل النظام ، إلخ.
2) ، الرجال.*: معلومات ملخص ذاكرة النظام
3) ، كومة.*: استخدام ذاكرة الكومة
4) ، nonheap.*: استخدام الذاكرة غير المتقدمة
5) المواضيع.*: استخدام الموضوع
6) الفصول الدراسية.*: وضع التحميل والتفريغ
7) ، GC.*: تفاصيل جامع القمامة
8) ، httpsession.*: حالة الطلاء للحاويات مثل tomcat
9) ، Magage.*: إرجاع قيمة رسم الخرائط ، مثل وقت التأخير ، إلخ.
10) ، conter.*: يستخدم كضغط ، يتم تسجيل المبلغ الزيادة والنقص
(2) /الصحة: مؤشرات صحية مختلفة
يتم عرض بعض المعلومات حول الذاكرة أدناه.
"Diskspace": {"الحالة": "UP" ، "Total": 21475880960 ، "Free": 8916258816 ، "Threshold": 10485760}(3) /تفريغ: يستخدم لفضح معلومات الموضوع في البرنامج
Threadname - اسم الموضوع المكشوف
ThreadId -معرف الخيط المعرض ، إلخ.
(4) /تتبع: يستخدم لتتبع معلومات HTTP الأساسية
6. تكوين فئة التحكم في العملية
(1) /يتم استخدام ShotDowm لإغلاق التشغيل البعيد للتطبيق-طلب النشر
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.