คุณสมบัติหลักของ Spring Boot คือ AutoConfig (การกำหนดค่าอัตโนมัติ) และสำหรับผู้ใช้ในสหรัฐอเมริกามันเป็นเพียง starters ที่หลากหลาย
Spring Boot-Actuator ยังให้บริการเริ่มต้นซึ่งได้รับการกำหนดค่าโดยอัตโนมัติสำหรับเรา ในแง่ของการใช้งานเราจำเป็นต้องเพิ่มผู้เริ่มต้นในการพึ่งพาของเราแล้วเริ่มโครงการ
<การพึ่งพา> <roupId> org.springframework.boot </roupid> <ratifactid> Spring-Boot-Starter-Actuator </artifactid>
ปลายทางที่ใช้กันทั่วไป
Spring Boot-Actuator ให้จุดสิ้นสุดที่มีประโยชน์มากมายและให้การตรวจสอบแอปพลิเคชันสปริงบูตที่หลากหลาย มาพูดคุยเกี่ยวกับจุดสิ้นสุดที่ใช้กันทั่วไปของฉัน:
/สถานะสุขภาพแอปพลิเคชันสุขภาพ
/configprops รับข้อมูลการกำหนดค่าของแอปพลิเคชันเนื่องจาก Spring Boot อาจเป็นแพ็คเกจ JAR แยกต่างหากเมื่อเผยแพร่และอาจรวมไฟล์การกำหนดค่าไว้ด้วย เมื่อเราต้องการตรวจสอบไฟล์การกำหนดค่าเราสามารถใช้ configpropsendpoint เพื่อดูว่าการกำหนดค่าบางอย่างถูกต้องหรือไม่
/ติดตามข้อมูลคำขอ http ล่าสุด
healthendpoint
เมื่อเราเยี่ยมชม http: // localhost: 8088/สุขภาพเราจะเห็นว่า HealthEndpoint ให้ผลการตรวจสอบเริ่มต้นรวมถึงการตรวจจับดิสก์และการตรวจจับฐานข้อมูล
{"สถานะ": "up", "diskspace": {"สถานะ": "up", "total": 39845875904, "ฟรี": 315106918400, "Threshold": 10485760}, "db": ในความเป็นจริงการดูซอร์สโค้ด boot-actuator ฤดูใบไม้ผลิคุณจะพบว่าข้อมูลที่ได้รับจาก HealthEndpoint ไม่ได้ จำกัด อยู่ที่สิ่งนี้ ภายใต้แพ็คเกจ org.springframework.boot.actuate.Health คุณจะพบ ElasticsearchHealthIndicator, RedishealthIndicator, RabbithealthIndicator ฯลฯ
นั่นคือ HealthEndpoint ยังให้ข้อมูลด้านสุขภาพสำหรับส่วนประกอบต่าง ๆ เช่น ES, Redis
ตัวบ่งชี้ที่กำหนดเองขยาย HealthEndpoint
การดูข้อมูลซอร์สโค้ดดิสก์และฐานข้อมูลสุขภาพจะถูกนำไปใช้โดย DiskSpaceHealthIndicator และ DataSourceHealthIndicator เมื่อเราตรวจสอบส่วนประกอบที่กำหนดเองของเราเรายังสามารถใช้ตัวบ่งชี้:
@componentpublic คลาสผู้ใช้ใช้ HealthIndicator {/** * การตรวจสอบการตรวจสอบของผู้ใช้: http: // localhost: 8088/สุขภาพ * * @@return การตรวจสอบสุขภาพที่กำหนดเอง */@Override สาธารณสุข () {กลับสุขภาพใหม่ "ขึ้น"). up (). build (); -ในเวลานี้เราเยี่ยมชมอีกครั้ง: http: // localhost: 8088/สุขภาพผลลัพธ์ที่ได้กลับมาในเวลานี้มีดังนี้รวมถึงข้อมูลสุขภาพผู้ใช้ที่กำหนดเองของเรา
{"สถานะ": "up", "user": {"สถานะ": "up", "usercount": 10, "userstatus": "up"}, "diskspace": {"สถานะ": "UP", "Total": 39845875904, "ฟรี": 315097989120 "สถานะ": "up", "ฐานข้อมูล": "mysql", "สวัสดี": 1}}จุดสิ้นสุดที่กำหนดเอง
ในความเป็นจริงนอกเหนือจากการขยาย HealthEndpoint เพื่อเพิ่มการตรวจสุขภาพบางอย่างเรายังสามารถปรับแต่งจุดสิ้นสุดบางส่วนเพื่อให้ข้อมูลบางอย่างในระหว่างการรันไทม์ของโปรแกรม:
@ConfigurationPublic คลาส EndpointAutoconFig {@Bean Public Endpoint <แผนที่ <String, Object >> CustomEndPoint () {ส่งคืน SystemendPoint ใหม่ (); }}@configurationProperties (prefix = "endpoints.customsystem") Public Class SystemendPoint ขยาย AbstractEndpoint <แผนที่ <String, Object >> {Public SystemendPoint () {Super ("CustomSystem"); } @Override แผนที่สาธารณะ <String, Object> revoke () {แผนที่ <string, object> result = new hashmap <> (); แผนที่ <สตริง, สตริง> map = system.getenv (); result.put ("ชื่อผู้ใช้", map.get ("ชื่อผู้ใช้")); result.put ("computerName", map.get ("computerName")); result.put ("userdomain", map.get ("userdomain")); ผลการกลับมา; -เยี่ยมชม http: // localhost: 8088/customsystem เพื่อดูจุดสิ้นสุดที่กำหนดเองของเราและผลลัพธ์มีดังนี้:
{"ชื่อผู้ใช้": "xxx", "userdomain": "เดสก์ท็อป -6ean1h4", "computerName": "เดสก์ท็อป -6ean1h4"}หลังจากเราเพิ่มแอคทูเอเตอร์ลงในแอปพลิเคชันสปริงบูตอินเตอร์เฟสสุขภาพที่คาดหวังจะส่งคืนผลลัพธ์ควรเป็นสิ่งต่อไปนี้:
{สถานะ: "UP", Diskspace: {สถานะ: "UP", Total: 250182889472, ฟรี: 31169568768, Threshold: 10485760}, db: {สถานะ: "UP", Database: "H2", Hello: 1}}หากเป็นเพียงสถานะที่ส่งคืน
{สถานะ: "up"}คุณต้องเพิ่มการกำหนดค่าใหม่สำหรับแอปพลิเคชัน การใช้ไฟล์กำหนดค่า YML เป็นตัวอย่างคุณต้องเพิ่มการกำหนดค่าต่อไปนี้:
การจัดการ: ความปลอดภัย: เปิดใช้งาน: FalseDpoints: สุขภาพ: Sensitive: FALSE
management.endpoint.health.show-details = เสมอ
สรุป
ข้างต้นคือการตรวจสอบสุขภาพของโครงการ Springboot การดำเนินการและการตรวจสอบที่แนะนำโดยบรรณาธิการ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!