Fitur utama Spring Boot adalah AutoConfig (Konfigurasi Otomatis), dan bagi kami pengguna, ini hanya berbagai starter.
Spring boot-aktuator juga menyediakan starter, yang secara otomatis dikonfigurasi untuk kami. Dalam hal penggunaan, kita hanya perlu menambahkan starter ke dependensi kita dan kemudian memulai proyek.
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-aktuator </stifactid> </dependency>
Titik akhir yang umum digunakan
Spring Boot-Actuator menyediakan banyak titik akhir yang bermanfaat dan menyediakan berbagai pemantauan aplikasi boot pegas. Mari kita bicara tentang titik akhir yang biasa saya gunakan:
/Status Kesehatan Aplikasi Kesehatan
/ConfigProps Dapatkan informasi konfigurasi aplikasi, karena Spring Boot mungkin merupakan paket JAR terpisah saat diterbitkan, dan file konfigurasi dapat disertakan. Ketika kita perlu memeriksa file konfigurasi, kita dapat menggunakan ConfigPropSendPoint untuk melihat apakah beberapa konfigurasi benar.
/Lacak informasi permintaan HTTP terbaru
Healthendpoint
Ketika kami mengunjungi http: // localhost: 8088/kesehatan, kita dapat melihat bahwa HealthendPoint memberi kita hasil pemantauan default, termasuk deteksi disk dan deteksi basis data.
{"Status": "Up", "Diskspace": {"Status": "Up", "Total": 398458875904, "Free": 315106918400, "Threshold": 10485760}, "DB": {"Status": "Up", "My DataBase:" Database: "My": "DATBAS": "My": "" Bahkan, melihat kode sumber boot-aktuator Spring, Anda akan menemukan bahwa informasi yang diberikan oleh HealthendPoint tidak terbatas pada ini. Di bawah paket org.springframework.boot.actuate.health, Anda akan menemukan ElasticsearchHealthindicator, Redishealthindicator, Rabbithealthindicator, dll.
Artinya, HealthendPoint juga memberikan informasi kesehatan untuk komponen seperti ES, Redis.
Indikator Kustom Memperluas HealthendPoint
Melihat kode sumber, disk, dan informasi kesehatan basis data diimplementasikan oleh DiskeHealthindicator dan DataSourceHealthindicator. Ketika kami memantau beberapa komponen khusus kami, kami juga dapat menerapkan indikator:
@Componentpublic class User implements HealthIndicator { /** * user monitoring access: http://localhost:8088/health * * @return Custom Health Monitor*/ @Override public Health health() { return new Health.Builder().withDetail("usercount", 10) //Custom monitoring content.withDetail("userstatus", "up"). up (). build (); }}Pada saat ini, kami berkunjung lagi: http: // localhost: 8088/kesehatan hasilnya yang dikembalikan saat ini adalah sebagai berikut, termasuk informasi kesehatan pengguna kami yang disesuaikan.
{"Status": "Up", "User": {"Status": "Up", "Usercount": 10, "UserStatus": "Up"}, "Diskspace": {"Status": "Up", "Total": {39845875904, "Free": 3150979120, "{39845875904," Free ": 3150979120," "Status": "Up", "Database": "Mysql", "Hello": 1}}Titik akhir khusus
Bahkan, selain memperluas HealthendPoint untuk menambahkan beberapa pemeriksaan kesehatan, kami juga dapat menyesuaikan beberapa titik akhir untuk memberikan beberapa tampilan informasi selama runtime program:
@ConfigurationPublic kelas endpointAutoconfig {@bean titik akhir publik <peta <string, objek >> customEndPoint () {return new SystemEndPoint (); }}@Configurationproperties (prefix = "endpoints.customsystem") kelas publik SystemEndPoint memperluas AbstractEndPoint <peta <String, Object >> {public SystemEndPoint () {super ("CustomSyStem"); } @Override peta publik <string, object> invoke () {peta <string, object> result = new HashMap <> (); Peta <string, string> peta = System.getEnv (); result.put ("nama pengguna", peta.get ("nama pengguna")); result.put ("computerName", map.get ("computername")); result.put ("userdomain", map.get ("userdomain")); hasil pengembalian; }}Kunjungi http: // localhost: 8088/CustomSystem untuk melihat titik akhir yang disesuaikan, dan hasilnya adalah sebagai berikut:
{"nama pengguna": "xxx", "userdomain": "desktop-6ean1h4", "computername": "desktop-6ean1h4"}Setelah kami menambahkan aktuator ke aplikasi Spring Boot kami, antarmuka kesehatan yang diharapkan mengembalikan hasilnya harus sesuatu seperti berikut:
{Status: "UP", DISKSPACE: {Status: "Up", Total: 250182889472, Gratis: 31169568768, Ambang: 10485760}, DB: {Status: "Up", Database: "H2", halo: 1}}Jika itu baru saja dikembalikan status
{status: "up"}Anda perlu menambahkan konfigurasi baru untuk aplikasi. Mengambil file konfigurasi YML sebagai contoh, Anda perlu menambahkan konfigurasi berikut:
Manajemen: Keamanan: Diaktifkan: FaleEndPoints: Health: Sensitive: False
manajemen.endpoint.health.show-details = selalu
Meringkaskan
Di atas adalah pemeriksaan dan pemantauan proyek implementasi Springboot yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!