Pemantauan Aplikasi Java dengan Prometheus dan Grafana
Jul 28, 2025 am 02:37 AMGunakan mikrometer untuk mendedahkan metrik dalam aplikasi Java. Dengan menambah kebergantungan dan mengkonfigurasi penggerak boot musim bunga, aplikasi mengeluarkan data pemantauan dalam format Prometheus di titik akhir /penggerak /prometheus; 2. Konfigurasi prometheus 'scrape_configs, tambahkan job_name ke tugas merangkak' java-app ', nyatakan metrics_path dan sasaran untuk kerap mengumpul metrik aplikasi Java, dan sahkan status pemerolehan melalui halaman sasaran Prometheus; 3. Mula Grafana dan tambah Prometheus sebagai sumber data, dan dengan cepat membina panel pemantauan visual untuk metrik utama seperti memori JVM, thread, GC, permintaan HTTP, dan lain -lain dengan mengimport templat komuniti (seperti ID 4701 dan 2588); 4. Daftar metrik perniagaan tersuai (seperti kiraan pemprosesan pesanan) melalui meterregistry, pertanyaan dan gunakan Grafana untuk memaparkan trend perniagaan, dengan itu mencapai pemantauan komprehensif di peringkat sistem dan perniagaan. Penyelesaian ini melaksanakan pautan pemantauan lengkap dari pendedahan penunjuk, pengambilalihan dan penyimpanan ke paparan visual aplikasi Java, dengan berkesan menyokong kestabilan sistem dan pengoptimuman prestasi.
Pemantauan aplikasi Java adalah penting untuk memastikan kestabilan dan prestasi sistem. Prometheus dan Grafana adalah kombinasi pemantauan sumber terbuka yang paling popular: Prometheus mengumpul dan menyimpan data metrik, sementara Grafana digunakan untuk paparan visual. Menggunakannya untuk pemantauan aplikasi Java membolehkan anda dengan cepat membina sistem pemantauan yang kuat, fleksibel dan berskala.

Berikut adalah langkah utama dan amalan terbaik untuk melaksanakan pemantauan aplikasi Java.
1. Dedahkan metrik pemantauan dalam aplikasi Java (menggunakan mikrometer prometheus)
Untuk membolehkan Prometheus merangkak metrik untuk aplikasi Java, anda perlu terlebih dahulu mendedahkan antara muka HTTP dalam aplikasi dan mengembalikan format yang Prometheus boleh dibaca (biasanya /metrics
atau /actuator/prometheus
).

Mikrometer disyorkan : Ia adalah fasad metrik standard de facto dalam bidang Java, menyokong pelbagai sistem pemantauan (termasuk Prometheus), dan mengintegrasikan dengan lancar dengan Spring Boot.
Tambah ketergantungan (contoh maven):
<geterlihat> <groupId> io.micrometer </groupId> </artifactid> micrometer-core </artifactid> </ketergantungan> <geterlihat> <groupId> io.micrometer </groupId> <RtifactId> micrometer-registry-prometheus </artifactid> </ketergantungan>
Konfigurasikan penggerak boot musim bunga (pengguna boot musim bunga):
# Application.yml Pengurusan: titik akhir: web: dedahan: Termasuk: Kesihatan, Maklumat, Metrik, Prometheus Metrik: Tag: Permohonan: $ {spring.application.name}
Selepas memulakan permohonan, lawati http://localhost:8080/actuator/prometheus
dan anda harus melihat sesuatu seperti:

# Bantu jvm_memory_used_bytes # Taip JVM_MEMORY_USED_BYTES Tolok jvm_memory_used_bytes {area = "heap", id = "ps lama gen",} 2.3405672e7 …
Ini menunjukkan bahawa penunjuk telah berjaya didedahkan.
2. Konfigurasikan Metrik Merangkak Prometheus
Prometheus perlu mengkonfigurasi pekerjaan untuk merangkak secara kerap metrik aplikasi Java anda.
Ubah suai prometheus.yml
:
scrape_configs: - Job_name: 'Java-app' Metrics_path: '/penggerak/prometheus' static_configs: - Sasaran: ['host.docker.internal: 8080'] # jika ia adalah docker tempatan, atau menggunakan ip sebenar
Nota: Jika aplikasi Java berjalan dalam bekas Docker,
targets
harus menggunakan alamat yang boleh diakses oleh rangkaian Docker, sepertiyour-service:8080
.
Mulakan Prometheus:
Docker Run -D -P 9090: 9090 -V $ (PWD) /Prometheus.yml:/etc/prometheus/prometheus.yml Prom/Prometheus
Lawati http://localhost:9090
dan sahkan bahawa status aplikasi Java anda adalah "naik" pada halaman "sasaran".
3. Gunakan Grafana untuk memaparkan panel pemantauan
Grafana digunakan untuk menyambung ke sumber data Prometheus dan memaparkan metrik utama seperti JVM, permintaan HTTP, dan GC melalui panel grafik.
Mulakan Grafana:
Docker Run -D -P 3000: 3000 Grafana/Grafana
Lawati http://localhost:3000
, kata laluan akaun lalai adalah admin/admin
.
Tambah Sumber Data Prometheus:
- Pergi ke Konfigurasi> Sumber Data> Tambahkan Sumber Data
- Pilih Prometheus
- Isi URL:
http://host.docker.internal:9090
(atau alamat di mana bekas Prometheus terletak) - Klik Simpan & Uji untuk mengesahkan bahawa sambungan berjaya
Mengimport Panel Pemantauan Java
Templat yang disyorkan yang dikendalikan oleh komuniti rasmi Grafana:
- Papan Pemuka Mikrometer JVM (ID: 4701)
- Statistik Boot Spring (ID: 2588)
Kaedah Import:
- Masukkan Buat> Import
- Masukkan ID Panel (seperti
4701
) - Pilih sumber data Prometheus
- Klik Import
Anda akan melihat maklumat pemantauan berikut:
- Penggunaan Memori JVM (timbunan/bukan tumpuan)
- Bilangan benang
- GC Masa dan Penggunaan Masa
- HTTP Permintaan latensi dan throughput
- Penggunaan CPU
4. Metrik Perniagaan Tersuai (pilihan tetapi disyorkan)
Sebagai tambahan kepada petunjuk sistem, anda juga boleh memantau logik perniagaan, seperti pemprosesan pesanan, kadar hit cache, dll.
Contoh: Rekod masa pemprosesan pesanan
@Autowired Pendaftaran Meterregistry Swasta; ProcessOrder void awam (pesanan pesanan) { Kaunter kaunter = registry.counter ("orders.processed", "type", order.getType ()); counter.increment (); // Logik pemprosesan ... }
Anda boleh bertanya di Prometheus:
orders_processed_total {type = "premium"}
Kemudian tambahkan carta di Grafana untuk memantau trend perniagaan.
Pada dasarnya itu sahaja. Seluruh proses tidak rumit, tetapi sangat praktikal:
Aplikasi Java mendedahkan metrik melalui mikrometer → Prometheus Crawl Storage → Grafana Visualisasi.
Sebaik sahaja dibina, anda dapat memahami kesihatan aplikasi dalam masa nyata dan dengan cepat mencari kebocoran memori, permintaan latency tinggi dan isu-isu lain.
Atas ialah kandungan terperinci Pemantauan Aplikasi Java dengan Prometheus dan Grafana. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

SetupaMaven/gradleprojectwithjax-rsdependencyiSejersey; 2.createarescresourceUsingAnnotationssuchas@pathand@get; 3.configuretheapplicationviaapplicationsubclassorweb.xml;

Maven adalah alat standard untuk pengurusan dan pembinaan projek Java. Jawapannya terletak pada hakikat bahawa ia menggunakan pom.xml untuk menyeragamkan struktur projek, pengurusan pergantungan, automasi kitaran hayat pembinaan dan sambungan pemalam; 1. Gunakan pom.xml untuk menentukan kumpulan, artifactid, versi dan kebergantungan; 2. Perintah teras utama seperti mvnclean, penyusun, ujian, pakej, memasang dan menggunakan; 3. Gunakan DependencyManagement dan Pengecualian untuk Menguruskan Versi Ketergantungan dan Konflik; 4. Mengatur aplikasi besar melalui struktur projek multi-modul dan diuruskan secara seragam oleh POM induk; 5.

Untuk menjana nilai hash menggunakan Java, ia boleh dilaksanakan melalui kelas MessageDigest. 1. Dapatkan contoh algoritma yang ditentukan, seperti MD5 atau SHA-256; 2. Panggil kaedah .Update () untuk lulus dalam data untuk disulitkan; 3. Panggil kaedah .digest () untuk mendapatkan pelbagai hash byte; 4. Tukar array byte ke dalam rentetan heksadesimal untuk membaca; Untuk input seperti fail besar, baca dalam ketulan dan panggilan .Update () beberapa kali; Adalah disyorkan untuk menggunakan SHA-256 dan bukannya MD5 atau SHA-1 untuk memastikan keselamatan.

Pertama, gunakan JavaScript untuk mendapatkan pilihan sistem pengguna dan tetapan tema yang disimpan di dalam negara, dan memulakan tema halaman; 1. Struktur HTML mengandungi butang untuk mencetuskan Topik Switching; 2. CSS menggunakan: Root untuk menentukan pembolehubah tema yang cerah, kelas mod-mode mentakrifkan pembolehubah tema gelap, dan menggunakan pembolehubah ini melalui VAR (); 3. JavaScript mengesan lebih suka skema-skema dan membaca LocalStorage untuk menentukan tema awal; 4. Tukar kelas mod gelap pada elemen HTML apabila mengklik butang, dan menjimatkan keadaan semasa ke LocalStorage; 5. Semua perubahan warna disertakan dengan animasi peralihan 0.3 saat untuk meningkatkan pengguna

Ya, menu drop-down CSS biasa boleh dilaksanakan melalui HTML dan CSS tulen tanpa JavaScript. 1. Gunakan UL dan Li bersarang untuk membina struktur menu; 2. Gunakan: Hover pseudo-Class untuk mengawal paparan dan menyembunyikan kandungan tarik-turun; 3. Tetapkan Kedudukan: Relatif untuk Ibu Bapa Li, dan submenu diletakkan menggunakan kedudukan: mutlak; 4. Submenu mungkir untuk memaparkan: Tiada, yang menjadi paparan: blok apabila melayang; 5. Multi-level pull-down boleh dicapai melalui bersarang, digabungkan dengan peralihan, dan menambah animasi pudar, dan disesuaikan dengan terminal mudah alih dengan pertanyaan media. Penyelesaian keseluruhannya mudah dan tidak memerlukan sokongan JavaScript, yang sesuai untuk besar

Gunakan DateTime.StrpTime () untuk menukar rentetan tarikh ke dalam objek DateTime. 1. Penggunaan Asas: Parse "2023-10-05" sebagai objek DateTime melalui "%y-%m-%d"; 2. Menyokong pelbagai format seperti "%m/%d/%y" untuk menghuraikan tarikh Amerika, "%d/%m/%y" untuk menghuraikan tarikh British, "%b%d,%y%i:%m%p" untuk menghuraikan masa dengan am/pm; 3. Gunakan dateUtil.parser.parse () untuk secara automatik menyimpulkan format yang tidak diketahui; 4. Gunakan .D

Fail Tetapan.JSON terletak di laluan peringkat pengguna atau ruang kerja dan digunakan untuk menyesuaikan tetapan vscode. 1. Laluan peringkat pengguna: Windows adalah C: \ Users \\ AppData \ Roaming \ code \ user \ settings.json, macOS adalah /users//library/applicationsupport/code/user/settings.json, linux adalah/ 2. Laluan Tahap Ruang Kerja: .VSCODE/Tetapan dalam Direktori Root Projek

Memasang plug-in Emmet boleh mencapai penutupan automatik pintar tag dan sintaks singkatan sokongan; 2. Dayakan "AUTO_MATCH_ENABLED": benar untuk membolehkan SUBLIME untuk melengkapkan tag mudah secara automatik; 3. Gunakan alt. (Menang) atau peralihan CTRL. (Mac) Kekunci pintasan untuk menutup secara manual tag semasa - disyorkan untuk menggunakan Emmet dalam kehidupan seharian. Dua kaedah yang terakhir boleh digabungkan, yang cekap dan mudah untuk ditetapkan.
