Link to original video by Linh Vu

9. OpenTelemetry (metrics): Spring Boot 3 + Java Agent — Collector — Prometheus Exemplars — Grafana

Outline Video 9. OpenTelemetry (metrics): Spring Boot 3 + Java Agent — Collector — Prometheus Exemplars — Grafana

Tóm tắt ngắn:

Tóm tắt chi tiết:

Video được chia thành các phần chính như sau:

Phần 1: Giới thiệu và mục tiêu: Video giới thiệu về việc chuyển đổi cách gửi dữ liệu metrics từ gửi trực tiếp từ Java agent đến Prometheus sang sử dụng OpenTelemetry Collector làm trung gian. Mục tiêu là cải thiện khả năng mở rộng và quản lý hệ thống giám sát.

Phần 2: Cấu hình Java Agent: Người thuyết trình hướng dẫn cập nhật cấu hình Java agent để sử dụng OpenTelemetry exporter thay vì gửi dữ liệu trực tiếp. Cụ thể là thay đổi metric exporters thành OTLP và cấu hình endpoint cho traces, metrics và logs. Các cấu hình mặc định của OTLP được đơn giản hóa.

Phần 3: Cấu hình OpenTelemetry Collector: Video hướng dẫn cấu hình OpenTelemetry Collector để nhận dữ liệu từ Java agent và xuất dữ liệu đến Prometheus thông qua exporter Prometheus. Cổng 8889 được sử dụng cho việc xuất dữ liệu metrics. Việc thêm receiver và exporter cho metrics được thực hiện trong file cấu hình của Collector.

Phần 4: Cấu hình Prometheus: Cấu hình Prometheus được cập nhật để lấy dữ liệu từ OpenTelemetry Collector thay vì trực tiếp từ Java agent. Địa chỉ và cổng của Collector được chỉ định trong file cấu hình của Prometheus.

Phần 5: Cấu hình và kiểm tra với Grafana và Templ (một service khác): Video hướng dẫn cấu hình Templ để gửi dữ liệu metrics kèm exemplars đến Prometheus thông qua Collector. Việc bật remote write trong Remus được đề cập để cho phép nhận dữ liệu từ Templ. Quá trình kiểm tra dữ liệu trên Grafana và việc xử lý exemplars được trình bày. Một số vấn đề về thời gian delay trong việc hiển thị dữ liệu được giải thích.

Phần 6: Xử lý Logs và OpenMetrics: Video giải thích về việc cấu hình để gửi logs và bật OpenMetrics format để hỗ trợ exemplars. Việc bật openMetrics trong cấu hình Prometheus exporter của Collector là cần thiết để xem exemplars.

Phần 7: Sử dụng Remote Write: Cuối cùng, video trình bày về việc sử dụng remote write trong Remus để gửi dữ liệu trực tiếp đến Prometheus mà không cần thông qua scraping. Điều này được thực hiện bằng cách cấu hình Collector để sử dụng remote write exporter.

Nhận xét: Video cung cấp một hướng dẫn khá chi tiết về việc thiết lập hệ thống giám sát sử dụng OpenTelemetry Collector. Tuy nhiên, tốc độ nói hơi nhanh và một số thuật ngữ chuyên ngành có thể gây khó khăn cho người xem chưa có kinh nghiệm. Việc sử dụng nhiều công cụ khác nhau (Remus, Templ) làm cho video hơi phức tạp.