Spring-aktuator adalah modul terintegrasi dari boot-spring untuk pemantauan aplikasi. Ini memberikan dukungan untuk pemantauan server kami, memungkinkan kami untuk secara lebih intuitif memperoleh konfigurasi aplikasi, variabel lingkungan, laporan konfigurasi otomatis, dll. Dimuat dalam aplikasi.
Menggunakan Spring-aktuator
1. Memperkenalkan dependensi Maven
<!-Modul Pemantauan dan Manajemen-> <dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-aktuator </artifactid> </dependency>
Setelah memperkenalkan dependensi, mulailah proyek.
URL yang kita butuhkan akan dicetak saat proyek dimulai
2018-03-26 23: 19: 00.169 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/env/enname:.* Boubspring-methods= (poducesing=application/vnd.spring-boot.acnot.acor.acoror.produces 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: dipetakan "{[/env || /env.json 0,spring-toot. java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19: 00.170 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/jejak || /trace.json 0,spring-toot. java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19: 00.170 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/dump || /dump.json 0,spring-toot.acor.acoror.vnson. java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19: 00.171 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/auditevents || clicaterevents.jon} publicor/publicor. org.springframework.http.responseentity <?> org.springframework.boot.actuate.endpoint.mvc.auditeventsmvcendpoint.findbyprincipalandafterandType (java.string, java.util.date, java.string))
2018-03-26 23: 19: 00.171 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/pemetaan || /mappings.json 0,spring-methods= get (vroduces= application/vnd.spring.methods= get1 java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
Info 2018-03-26 23: 19: 00.172 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/autoconfig || /autoconfig.json 0,methods=$get $.produces= media application/vnd.spring. Aplikasi/JSON]} "Ke java.lang Public.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/metrics/enApplication/vnd.spring-methods= get $ 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: dipetakan "{[/metrik ||/Metrics.json 0,spring-cring-cring-cring.voncon.von.von.prod1 java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19: 00.173 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[ /jeda || /Pause.json (methods=$post]}" ke java publik.Lang.object org.spoint.spoint.
2018-03-26 23: 19: 00.174 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/Layanan-Registri/STATUS CONSED], METODE = [POST]}" ke org.springframework.http.responseentitas publik <?> org.springframework.cloud.client.serviceregistry.endpoint.serviceregistryendpoint.setstatus (java.lang.string)
2018-03-26 23: 19: 00.174 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/Layanan-Registri/Contoh-status], Metode = [get]}" ke org.springframework.http.responseentsity publik org.springframework.http.http.responseentity Public org.springframework.http.responseentity org.springframework.cloud.client.serviceregistry.endpoint.serviceregistryEndpoint.getStatus ()
2018-03-26 23: 19: 00.175 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/loggers/{name:.* BOCKONT.METHOCT.METHOCT.PRODUCES. 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: dipetakan "{[/loggers/{Name:.* BOT.Methods=öpost bah.yPlication.OyPlication/vnd.spring.spring.cring-cring.actute. Application/JSON], menghasilkan = [Application/vnd.spring-boot.actuator.v1+json ||. java.lang.string>)
2018-03-26 23: 19: 00.175 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/loggers || /loggers.json 2.pethods= (getget1 iMproduces= $ java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19:00 org.springframework.boot.actuate.endpoint.mvc.heapdumpmvcendpoint.invoke (boolean, javax.servlet.http.httpservletRequest, javax.servlet.http.httpservletresspons) java.io
2018-03-26 23: 19:00 org.springframework.cloud.endpoint.genericpostablemvcendpoint.invoke ()
2018-03-26 23: 19:00 org.springframework.cloud.endpoint.genericpostablemvcendpoint.invoke ()
2018-03-26 23: 19: 00.178 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/configProps || /configprops.json"} publicor/publicoren.yPringor.Ipring.Ipnon.Ipring. java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19: 00.178 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/archaius || /archaius.json 0,spring-cring-cring-cring-cring.vrod1 java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/kesehatan || /health.json 0,spring-toot. java.lang.object org.springframework.boot.actuate.endpoint.mvc.healthmvcendpoint.invoke (javax.servlet.http.httpservletrequest, java.security.principal)
2018-03-26 23: 19:00 org.springframework.cloud.context.environment.environmentManAgvCendPoint.value (java.util.map <java.lang.string, java.lang.string>)
2018-03-26 23: 19:00 org.springframework.cloud.context.environment.environmentManAgVcendPoint.reset ()
2018-03-26 23: 19: 00.179 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/fitur || /features.json 0,spring-tOcking= (poduces-produces= Application/vnd.spring-boot.acor.acor. java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19:00 org.springframework.cloud.context.restart.restartmvcendpoint.invoke ()
2018-03-26 23: 19: 00.181 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/entitas || /entity.json 0,spring-toot.acor. java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19: 00.181 Info 6148 --- [Main] osbaemvc.endpointhandlermapping: dipetakan "{[/info || /info.json 0,spring-toot.acor.acor.acon.vonson.vnson. java.lang.Object org.springframework.boot.actuate.endpoint.mvc.endpointmvcAdapter.invoke ()
2018-03-26 23: 19:00 org.springframework.boot.actuate.endpoint.mvc.managementErrorendpoint.invoke ()
2. Konfigurasi file konfigurasi YML
(1) Mengkonfigurasi nomor port dan tidak mengaktifkan modul fungsional tertentu
#Develop Nomor port, jika tidak, itu sama dengan server server. Manajemen Porpor: Port: 4321 #Hapus fungsi yang tidak perlu melihat konten, jika kesehatan tidak diperlukan, Kesehatan: Mail: #False berarti bahwa fungsi ini tidak diaktifkan: Salah
Konfigurasi di atas menunjukkan bahwa port yang dikonfigurasi adalah port http 4321 dan fungsi /kesehatan dinonaktifkan.
(2) Ubah jalur pemetaan
#Modifikasi jalur ID pemetaan titik akhir konfigurasi: kacang: ID: entitas
Konfigurasi di atas berarti mengubah jalur untuk membuat kacang oleh /kacang ke /entitas
(3) Mengkonfigurasi Konfigurasi Keamanan Aktuator
Diperlukan keamanan musim semi
Memperkenalkan dependensi
<!-Untuk otentikasi Akses Akses Pusat Pendaftaran-> <dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-Security </artifactid> </dependency>
Konfigurasikan Kata Sandi Akun:
Keamanan: Dasar: #Represents untuk Mengaktifkan Kata Sandi Akun Otentikasi Diaktifkan: True #Configure Akun dan Kata Sandi Pengguna: Nama: Root Kata Sandi: 123
Setelah mengkonfigurasi kata sandi akun, Anda dapat mengaksesnya melalui http://127.0.0.1:4321, dan masukkan akun dan kata sandi yang dikonfigurasi. Ini valid ketika browser tidak ditutup sekali.
(4) Tampilkan pesan tampilan dalam format JSON
Tampilan format JSON memiliki keterbacaan dan estetika yang lebih baik
#Print paket yang ditampilkan oleh Acyuator ke JSON Format Spring: Jackson: Serialisasi: Indent-Output: True
Tambahkan konfigurasi di atas ke file application.yml
3. Konfigurasi kelas startup
@SpringbootApplication@enableeureKaserver // anotasi baris ini mewakili komponen terdaftar untuk suatu layanan. Anotasi ini hanya berlaku untuk kelas eurekapublic eurekaserverapplication {public static void main (string [] args) {springApplication.run (eureKaserverApplication.class, args); }}Jalankan tanpa konfigurasi
4. Beberapa modul konfigurasi utama
| Metode Permintaan HTTP | jalur | menggambarkan |
| MENDAPATKAN | /autoconfig | Digunakan untuk mendapatkan informasi konfigurasi otomatis untuk aplikasi |
| MENDAPATKAN | /kacang | Digunakan untuk mendapatkan semua kacang dibuat oleh konteks aplikasi |
| MENDAPATKAN | /configProps | Dapatkan laporan informasi atribut yang dikonfigurasi dalam aplikasi |
| MENDAPATKAN | /env | Digunakan untuk mendapatkan semua laporan atribut variabel lingkungan yang tersedia untuk aplikasi |
| MENDAPATKAN | /pemetaan | Laporan Hubungan Pemetaan Pengontrol Untuk Memperoleh Semua SpringMVC |
| MENDAPATKAN | /info | Digunakan untuk mendapatkan informasi kustomisasi aplikasi |
(1) /autoconfig
Ada dua node utama di bawah konfigurasi ini.
PositiveMatches: Mengembalikan informasi konfigurasi otomatis untuk pencocokan kondisi yang berhasil
NegativeMatches: Mengembalikan informasi konfigurasi bahwa kondisi yang cocok tidak berhasil
(2) /kacang
File konfigurasi ini digunakan untuk menampilkan objek kacang yang dimuat oleh konteks aplikasi ApplicationContext, termasuk node berikut:
"Context": "Bootstrap", "Parent": Null, "Beans": [{"bean": "PropertiesourcoothotstrapConfiguration", "Aliases": [], "SCOPE": "Singleton", "Type": "org.springframework.cloud.bootstrap.config.propertysourcoothotstrapconfiguration $$ Enhancerbyspringcglib $$ 82FDF928", "sumber daya": "null", "dependensi": []}] "Beans adalah kumpulan kelas yang dimuat dalam konteks aplikasi, yang mencakup tag berikut:
1), Bean: Nama kacang yang dibuat oleh konteks aplikasi
2) Lingkup: Lingkup kacang dibuat
Singleton: Singleton, adalah ruang lingkup default musim semi
Prototipe: Setiap permintaan akan menghasilkan instance baru, yang setara dengan operasi baru
Permintaan: Setiap permintaan HTTP akan menghasilkan instance baru, dan kacang saat ini hanya valid dalam httprequest yang sama
Sesi: Valid dalam httpsession yang sama
3), Jenis: Jenis kacang yang digunakan untuk manajemen konteks
Nama kelas yang sepenuhnya memenuhi syarat untuk kelas
4) Sumber Daya: Jalur spesifik ke file kelas
5) Ketergantungan: Nama Kacang Ketergantungan, yaitu nama kacang yang terkait dalam kacang
(3) /configProps: Dapatkan laporan informasi atribut yang dikonfigurasi dalam aplikasi
Ada dua node anak di bawah ini
Awalan: Konfigurasikan awalan untuk atribut
Properti: mewakili nama dan nilai dari setiap properti
(4) /Env digunakan untuk mendapatkan laporan atribut variabel lingkungan dari konteks aplikasi, seperti variabel lingkungan, atribut JVM, informasi konfigurasi aplikasi, parameter dalam baris perintah, dll.
1) server.ports mewakili nomor port yang dikonfigurasi oleh aplikasi
2) SystemProperties memperoleh JVM dan informasi lainnya untuk aplikasi
(5) /Mappings SpringMVC Controller Mapping Report,
{"{[/error]}": {"bean": "requestMappingHandlermapping", "Method": "Public org.springframework.http.responseentity <java.util.map <java.lang.string, java.lang.object >> org.springframework.boot.autoconfigure.web.basicerrorController.error (javax.servlet.http.httpservletrequest) "}}1) /Kesalahan mewakili jalur pemetaan springmvc
2) /Bean mewakili kelas yang digunakan untuk pemetaan mapper prosesor
3) /Metode mewakili metode di kelas pemetaan
(6) Info digunakan untuk mendapatkan informasi konfigurasi khusus yang dikonfigurasi di application.yml
5. Konfigurasi Metrik
Konten laporan yang disediakan oleh metrik diubah secara dinamis dan memberikan beberapa informasi snapshot; seperti penggunaan memori, penghitungan permintaan HTTP, statistik indikator sumber daya eksternal, dll.
(1) /Metrik Mengembalikan berbagai metrik penting yang saat ini diterapkan. Ada konten berikut
1) Informasi Sistem: Prosesor --- Jumlah prosesor
instance.uptime ------ berjalan waktu
SystemLoad.Aungnya -Rata -rata Sistem Load, dll.
2), Men.*: Informasi Ringkasan Memori Sistem
3), tumpukan.*: Tumpukan penggunaan memori
4), nonheap.*: Penggunaan memori non-heap
5) Threads.*: Penggunaan Thread
6) Kelas.*: Situasi pemuatan dan pembongkaran kelas
7), Gc.*: Detail pengumpul sampah
8), httpsession.*: Status lukisan wadah seperti Tomcat
9), Magage.*: Mengembalikan nilai pemetaan, seperti waktu tunda, dll.
10), conter.*: Digunakan sebagai penghitung, jumlah kenaikan dan penurunan dicatat
(2) /Kesehatan: Berbagai indikator kesehatan
Beberapa informasi tentang memori ditunjukkan di bawah ini.
"Diskspace": {"Status": "Up", "Total": 21475880960, "Gratis": 8916258816, "Threshold": 10485760}(3) /dump: digunakan untuk mengekspos informasi utas dalam program
ThreadName - Nama utas yang terbuka
ThreadId -Exposed Thread ID, dll.
(4) /Trace: Digunakan untuk melacak informasi HTTP dasar
6. Konfigurasi Kelas Kontrol Operasi
(1) /shutdowm digunakan untuk menutup operasi jarak jauh dari aplikasi-untuk permintaan pos
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.