Update BanyanDB self-observability (SWIP-15) for the demo env#271
Merged
Conversation
Adopt the SWIP-15 cluster/node/group self-observability model for BanyanDB
in both deploy modes, and refresh the rendered demo.yaml.
Versions (Makefile.in):
- OAP -> c9f816a4de (SWIP-15 #13903: redesigned BanyanDB so11y rules).
- BanyanDB -> c2d925e4e (#1169: adds the queue batch/message metric
families the new instance/endpoint rules read).
Docker single-node (standalone, no FODC proxy):
- otel-collector-config-banyandb.yaml: scrape banyandb:2121 and inject the
identity labels the new MAL rules key on (cluster/container_name/node_role/
node_type/pod_name) instead of the obsolete host_name.
- docker-compose.single-node.yaml: switch the OAP rule-enable from `banyandb`
to `banyandb/*` (the rules now live in the otel-rules/banyandb/ subdir;
bare `banyandb` matches no file and fails OAP startup).
Kubernetes (BanyanDB cluster + FODC proxy):
- feature-banyandb-monitor/opentelemetry-config.yaml: scrape the FODC proxy's
aggregated /metrics (component=fodc-proxy, port http) and inject only the
`cluster` label; the proxy stamps container_name/node_role/node_type/
pod_name. Add scrape_interval: 10s so the new .rate('PT15S') write/query/
error metrics populate (the default 60s is too coarse).
- values.yaml: make banyandb.cluster.fodc.enabled explicit and expose the
proxy http service as ClusterIP (chart default is LoadBalancer).
Regenerate demo.yaml (now renders banyandb-helm 0.6.0 with the FODC proxy and
the new images; the previous snapshot was the pre-FODC 0.5.0-rc0 / etcd chart).
Verified end-to-end on a local kind cluster (BanyanDB cluster + FODC proxy +
OAP + otel): the BANYANDB-layer service/instance/endpoint entities resolve and
both gauge (cpu/mem) and rate (write/query) metrics populate.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
kezhenxu94
approved these changes
Jun 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adopts the SWIP-15 cluster/node/group self-observability model for BanyanDB in the showcase (both Docker and Kubernetes modes), and refreshes the rendered
demo.yaml.This depends on SWIP-15 having merged into OAP (apache/skywalking#13903).
Changes
Versions (
Makefile.in)c9f816a4de— SWIP-15 redesigned BanyanDB so11y rules.c2d925e4e(#1169) — adds the queue batch/message metric families the new instance/endpoint rules read.Docker single-node (standalone, no FODC proxy)
otel-collector-config-banyandb.yaml: scrapebanyandb:2121and inject the identity labels the new MAL rules key on —cluster/container_name/node_role/node_type/pod_name— replacing the obsoletehost_name: root[root]. Mirrors the SWIP-15 e2e's no-FODC static-label pattern.docker-compose.single-node.yaml: switch the OAP rule-enable frombanyandb→banyandb/*. The rules now live inotel-rules/banyandb/(3 files); barebanyandbmatches no file and fails OAP startup.Kubernetes (BanyanDB cluster + FODC proxy — the documented production model)
feature-banyandb-monitor/opentelemetry-config.yaml: scrape the FODC proxy aggregated/metrics(component=fodc-proxy, porthttp) and inject onlycluster; the proxy stamps the rest. Replaces the old per-podhost_name/service_instance_idmodel. Addsscrape_interval: 10sso the new.rate('PT15S')write/query/error metrics populate (default 60s is too coarse).values.yaml: makebanyandb.cluster.fodc.enabledexplicit and expose the proxy http service asClusterIP(chart default isLoadBalancer).demo.yaml— regenerated. Now renders banyandb-helm 0.6.0 with the FODC proxy and the new images; the previous snapshot was the pre-FODC0.5.0-rc0/ etcd chart (a year stale), so the diff is large.Verification
Deployed the full stack to a local kind cluster (BanyanDB cluster hot/warm/cold + liaison + FODC proxy/agents + OAP + otel-collector) and confirmed end-to-end:
/metricsemitscontainer_name/node_role/node_type/pod_nameacross all nodes.cluster: showcase-banyandb.listServices(layer:"BANYANDB")→showcase-banyandb; instances resolve aspod@containerwith role/type; endpoints resolve as storage groups (sw_metricsMinute,sw_metadata, …).total_cpu_cores,total_memory_used,reporting_instances) and rate metrics (cluster_write_rate,cluster_query_rate) all populate;cluster_error_rate0 (healthy).🤖 Generated with Claude Code