Bỏ qua, đến nội dung

@digiforce-nc/plugin-telemetry-prometheus

Plugin Prometheus metrics exporter — expose metrics endpoint /api/prometheus:metrics theo format Prometheus để thu thập và hiển thị trên Grafana.

Plugin này làm gì?

Prometheus là hệ thống monitoring phổ biến nhất hiện nay. Plugin này expose một HTTP endpoint trả về metrics ở format Prometheus text, cho phép Prometheus server scrape định kỳ. Plugin hỗ trợ hai chế độ: internal (dùng resource API sẵn có) và standalone server (chạy HTTP server riêng trên port tùy chọn).

Cơ chế hoạt động

Tính năng chính

#Tính năngMô tả
1Prometheus formatExport metrics chuẩn Prometheus text format
2Hai chế độInternal (resource API) hoặc standalone server
3Public endpointEndpoint metrics mặc định cho phép truy cập công khai
4Tích hợp telemetryĐăng ký Prometheus reader với hệ thống telemetry core
5Error handlingLog lỗi thu thập metrics, trả về thông báo lỗi rõ ràng

Hai chế độ hoạt động

Chế độ Internal (mặc định)

Plugin đăng ký một resource prometheus với action metrics trên server Digiforce. Prometheus scrape qua URL:

GET /api/prometheus:metrics

Ưu điểm: không cần mở thêm port, dùng chung authentication/middleware của ứng dụng.

Chế độ Standalone Server

Khi đặt TELEMETRY_PROMETHEUS_SERVER=on, plugin chạy HTTP server riêng trên port 9464 (hoặc port tùy chọn). Prometheus scrape trực tiếp port này.

Ưu điểm: tách biệt traffic monitoring khỏi traffic ứng dụng.

Cấu hình

Biến môi trườngMặc địnhMô tả
TELEMETRY_PROMETHEUS_SERVERoffĐặt on để chạy standalone server
TELEMETRY_PROMETHEUS_PORT9464Port cho standalone server

Dependencies

PackageVai trò
@digiforce-nc/serverServer framework
@opentelemetry/exporter-prometheusPrometheus exporter từ OpenTelemetry
@digiforce-nc/plugin-telemetryHệ thống telemetry core (yêu cầu)

Lưu ý triển khai

  • Endpoint metrics mặc định là public (không yêu cầu đăng nhập) — cân nhắc giới hạn truy cập qua firewall
  • Plugin đăng ký reader tên prometheus với app.telemetry.metric
  • Dùng kết hợp với plugin-telemetry để có đầy đủ system metrics và HTTP metrics

Mục lục chi tiết