[Feature] Add Monitor page to Canopy
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- prometheus
- Ambito
- backend, documentation, frontend, observability, testing
Direzione di ricerca
Inizia esaminando docs/operation/observability/metrics.md ed elencando gli endpoint HTTP e le metriche di BanyanDB per le sezioni proposte. Documenta il layout e l’approccio al recupero dei dati in canopy/docs/monitor-design.md, quindi esamina la sidebar Canopy esistente e le posizioni dei test sotto canopy/e2e/. Il lavoro è completato quando è disponibile un piano circoscritto di progettazione e implementazione che copra la route /monitor, gli stati di caricamento/errore, il comportamento di aggiornamento, l’applicazione dei ruoli e i test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Java
- Stelle
- 25k
- Fork
- 6.6k
- Merge medio
- 12h 28m
- PR unite (30g)
- 31
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/skywalking
-
database
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
apache/skywalking#14104 ·
I maintainer di solito rispondono entro 1 giorno
-
[BanyanDB] Data/Schema Import and ExportForse di nuovo libera @mrproliu l’ha presa 28 giorni fa e non c’è nessuna pull request aperta. Apertafeature
apache/skywalking#14102 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Feature] Store BanyanDB's own logs in BanyanDB (self-stored logs)Forse già presa @hanahmily l’ha presa 40 giorni fa. Apertadatabase feature
apache/skywalking#14076 · 10 commenti · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
database
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
apache/skywalking#14070 ·
I maintainer di solito rispondono entro 1 giorno
-
database
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
apache/skywalking#14069 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/skywalking
Issue simili
-
enhancement web-ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
jenkinsci/jenkins#27583 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/rocketmq-dashboard#7302 ·
I maintainer di solito rispondono entro 3 giorni
-
area: android good first issue help wanted testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Gautam-aman/ResQNet#56 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation hermes-queue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
chrisalunlloyd2-sudo/mindpalace#294 ·
I maintainer di solito rispondono entro 1 giorno