[Feature] Add Monitor page to Canopy
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- prometheus
- Lĩnh vực
- backend, documentation, frontend, observability, testing
Hướng nghiên cứu
Bắt đầu bằng việc xem xét docs/operation/observability/metrics.md và liệt kê các HTTP endpoint cùng các metric của BanyanDB cho những phần được đề xuất. Ghi lại bố cục và cách tiếp cận lấy dữ liệu trong canopy/docs/monitor-design.md, sau đó kiểm tra sidebar Canopy hiện có và các vị trí test trong canopy/e2e/. Công việc được xem là hoàn tất khi có một kế hoạch thiết kế và triển khai có phạm vi rõ ràng, bao quát route /monitor, các trạng thái đang tải/lỗi, hành vi làm mới, việc thực thi vai trò và các test.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Introduce a Monitor page in the Canopy web console that surfaces BanyanDB cluster/runtime health, key metrics, and node status — giving operators a single place to observe the state of the database from the UI.
Motivation
Today Canopy focuses on schema CRUD and ad-hoc query (Groups, Streams, Measures, Traces, IndexRules, Properties, TopN pipelines). There is no dedicated surface for runtime/cluster observability. Operators currently have to rely on:
- raw BanyanDB HTTP endpoints,
- external Prometheus/Grafana dashboards,
- log scraping.
A first-class Monitor page in Canopy lowers the operational bar and complements the existing schema/query UI.
Goals
- A new top-level Monitor entry in the Canopy sidebar.
- Pulls data from BanyanDB's existing observability surface (HTTP API + Prometheus metrics where applicable).
- Renders key health signals and recent trends.
- Role-gated: available to
admin(and possiblyreadonly).
Scope (suggested sections — refine during design)
- Cluster overview — node list, liveness, role (liaison/data), version, uptime.
- Shard / group status — per-group shard health, replica state, hot-node distribution (reuses concepts from existing BYDB-Replica work).
- Storage metrics — disk usage per node/path, segment counts,
sidx/inverted-index sizes, write amplification (sourced fromdocs/operation/observability/metrics.md). - Query metrics — QPS, p50/p95/p99 latencies, error rate, slow-query top-N (mirrors the existing
banyandb_*metrics). - Recent events / alerts — last N warnings/errors from BanyanDB (if surfaced via API) and any active TopN pipeline anomalies.
- Trace pipeline status — if Trace Pipeline (per #13634) is enabled, surface its stage/throughput.
Tasks
- Research — enumerate the BanyanDB HTTP endpoints and metrics that can power each Monitor section; identify gaps that require new backend API.
- Design doc — proposed layout under
canopy/docs/monitor-design.md; data-fetching strategy (BFF proxy + caching vs. direct from SPA); refresh interval; empty/error/loading states. - PoC — implement the page shell with Cluster overview + Storage metrics end-to-end (server proxy + web page) using existing BanyanDB endpoints; stub the other sections behind a feature flag.
- Tests — Vitest tests for new BFF proxy routes; component tests for the page; e2e smoke under
canopy/e2e/. - Docs — update
canopy/README.md(sidebar change) and addcanopy/docs/monitor-design.md.
Acceptance Criteria
- New
/monitorroute accessible from the sidebar. - Cluster overview + storage metrics render real data from a running BanyanDB.
- Loading / empty / error states handled.
- Bounded refresh interval (default 10s, configurable).
- Role enforcement:
adminonly by default (configurable to allowreadonly). - Unit + e2e tests pass.
- Docs updated.
Out of Scope
- Custom alerting rules / notification channels.
- Long-term metrics storage (rely on Prometheus).
- Replacing the existing SkyWalking OAP observability dashboards — this page is a lightweight in-product view, not a Grafana replacement.
- Ngôn ngữ chính
- Java
- Star
- 25k
- Fork
- 6.6k
- Merge trung bình
- 14 giờ 48 phút
- Pull request đã merge (30 ngày)
- 31
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/skywalking
-
[Bug] BanyanDB stream scans run out of query memory even with a small limitCó thể đã có người làm @hanahmily đã nhận hôm nay. Đang mởbug database
apache/skywalking#14165 · 1 bình luận · 2 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
database feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
apache/skywalking#14162 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Feature] Canopy auth 1/2: local auth — auth config, argon2id login, server-side sessions, API tokensCó thể đã có người làm @hanahmily đã nhận hôm nay. Đang mởdatabase feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
apache/skywalking#14159 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
apache/skywalking#14158 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
database
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 58/100
apache/skywalking#14157 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của apache/skywalking
Issue tương tự
-
dev/release: verify-release-candidate.sh runs 0 Java tests with Debian's MavenCó thể đã có người làm @kou đã nhận hôm nay. Đang mởType: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
apache/arrow-adbc#4947 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
lysine-dev/okhttp#9814 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
checkstyle/checkstyle#22153 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 79/100
Maintainer thường phản hồi trong vòng 1 ngày