Rumah  >  Artikel  >  Java  >  Pemantauan dan pengelogan seni bina perkhidmatan mikro Java

Pemantauan dan pengelogan seni bina perkhidmatan mikro Java

WBOY
WBOYasal
2024-06-03 17:02:011165semak imbas

Pemantauan seni bina perkhidmatan mikro melibatkan pengumpulan penunjuk termasuk Prometheus, Grafana dan Zipkin rangka kerja yang biasa digunakan termasuk Log4j 2, Slf4j dan Logback. Contoh praktikal khusus termasuk: menggunakan Prometheus dan Grafana untuk memantau bilangan permintaan, menggunakan Zipkin untuk menjejaki permintaan perkhidmatan, menggunakan Log4j 2 untuk merekod penerimaan permintaan dan menggunakan Slf4j untuk pengelogan.

Pemantauan dan pengelogan seni bina perkhidmatan mikro Java

Memantau dan mengelog dalam seni bina perkhidmatan mikro Java

Peningkatan seni bina perkhidmatan mikro telah membawa cabaran unik kepada pemantauan dan pengelogan aplikasi. Aplikasi yang diedarkan mengandungi banyak perkhidmatan bebas dan gandingan longgar yang memerlukan pemantauan dan pengelogan berterusan untuk memastikan kebolehpercayaan dan prestasinya.

Panduan ini akan memperkenalkan amalan terbaik untuk memantau dan mengelog dalam seni bina perkhidmatan mikro Java dan memberikan contoh praktikal.

Pemantauan

Pemantauan seni bina perkhidmatan mikro melibatkan pengumpulan dan analisis metrik tentang setiap komponen perkhidmatan dan infrastruktur. Alat pemantauan biasa termasuk:

  • Prometheus: Sistem pemantauan sumber terbuka untuk mengumpul dan menyimpan data siri masa.
  • Grafana: Alat papan pemuka sumber terbuka untuk visualisasi data dan papan pemuka.
  • Zipkin: Sistem pengesanan sumber terbuka untuk mengesan dan menganalisis sistem teragih.

Kes praktikal:

Memantau perkhidmatan mikro Java menggunakan Prometheus dan Grafana:

dependencies {
    implementation 'io.micrometer:micrometer-registry-prometheus:1.8.1'
    implementation 'io.prometheus:simpleclient_hotspot:0.11.0'
}
Counter requestCounter = Counter
    .builder("web.requests")
    .description("Number of HTTP requests")
    .register(Metrics.globalRegistry);

Menjejaki perkhidmatan mikro Java menggunakan Zipkin:

dependencies {
    implementation 'io.github.openzipkin.brave:brave:5.14.7'
    implementation 'io.zipkin.brave:brave-http:5.14.7'
    implementation 'io.zipkin.brave:brave-opentracing:5.14.7'
}
Span span = tracer.newTrace().start();
HttpClient client = HttpClient.create().newBuilder()
    .tracers(new ZipkinBraveTracer()).build();

mencatat masalah, menyahlogi perkhidmatan

audit yang berguna

menyahlogi

Ia penting. Rangka kerja pengelogan biasa termasuk:
  • Log4j 2:
  • Rangka kerja pengelogan berkuasa yang menyokong berbilang format log dan destinasi output.
  • Slf4j:
  • Fasad pembalakan ringkas untuk pembalakan yang membolehkan pertukaran mudah antara rangka kerja pembalakan yang berbeza.
  • Log balik:
  • Rangka kerja pengelogan yang fleksibel dan boleh dikonfigurasikan direka untuk meningkatkan prestasi.

Kes praktikal:

Gunakan Log4j 2 untuk merakam perkhidmatan mikro Java:

dependencies {
    implementation 'org.apache.logging.log4j:log4j-api:2.18.0'
    implementation 'org.apache.logging.log4j:log4j-core:2.18.0'
}
private final Logger logger = LogManager.getLogger(MyService.class);

logger.info("Received request for {}", request);

Gunakan Slf4j untuk merakam perkhidmatan mikro Java: 🎜
dependencies {
    implementation 'org.slf4j:slf4j-api:2.0.0'
}
private static final Logger logger = LoggerFactory.getLogger(MyService.class);

logger.info("Received request for {}", request);

Atas ialah kandungan terperinci Pemantauan dan pengelogan seni bina perkhidmatan mikro Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn