Skip to content

Grafana Dashboard

English | 简体中文

Spiderpool ships with built-in Grafana Dashboards for visualizing IPAM and RDMA metrics.

Prerequisites

  • Grafana Operator (manages Dashboard CRDs)
  • Prometheus
  • Spiderpool Metrics enabled

Installation

Via Helm

Enable Dashboard when installing Spiderpool:

helm install spiderpool spidernet-io/spiderpool \
  -n kube-system \
  --set grafanaDashboard.install=true \
  --set spiderpoolAgent.prometheus.enabled=true \
  --set spiderpoolController.prometheus.enabled=true

Specify Dashboard namespace:

helm install spiderpool spidernet-io/spiderpool \
  -n kube-system \
  --set grafanaDashboard.install=true \
  --set grafanaDashboard.namespace=monitoring

Manual Import

Dashboard JSON files are located in charts/spiderpool/files/:

File Description
grafana-ipam.json IPAM metrics
grafana-rdma-pod.json Pod-level RDMA metrics
grafana-rdma-node.json Node-level RDMA metrics
grafana-rdma-cluster.json Cluster-level RDMA metrics
grafana-rdma-workload.json Workload-level RDMA metrics

Helm Parameters

Parameter Description Default
grafanaDashboard.install Install Dashboard, requires Grafana Operator CRDs false
grafanaDashboard.namespace Dashboard namespace, defaults to Helm release namespace ""
grafanaDashboard.annotations Additional annotations {}
grafanaDashboard.labels Additional labels {}

Dashboard Overview

IPAM Dashboard is organized in three rows:

IPAM Overview — headline stats:

Panel Description
Total IPPools / Total Subnets Current number of SpiderIPPool and SpiderSubnet resources
Allocation Rate / Release Rate Current IPAM allocation and release request rate

IPAM Allocation / Release — core IPAM behavior:

Panel Description
Allocation & Release Rate IPAM allocation and release request rate served by spiderpool-agent
IPAM Failures & GC Allocation/release failure rate and IP GC activity; failure lines should stay at zero
IP Allocation Latency End-to-end allocation latency P50/P95/P99
IP Release Latency End-to-end release latency P50/P95/P99

IaaS Network Provider — for clusters using IaaS-managed pools:

Panel Description
IaaS Allocation Rate by Path Allocation rate split by mode (node/global) and path (cache_hit = prewarm reuse, cold_create = realtime cloud call)
IaaS Cache Hit Ratio Share of allocations served from prewarmed metadata without a provider RPC
IaaS Allocation Latency by Path Allocation latency P50/P95; cache_hit should be milliseconds, cold_create includes the cloud sub-ENI creation
Provider API Request Rate Client-side request rate from spiderpool-agent to the provider, by operation (allocate/release)
Provider API Latency (client-side) Latency P50/P95 of agent-to-provider calls, measured at the client
IaaS Failures & Anomalies All IaaS failure counters by reason (allocation failures, RPC failures, claim rollbacks, metadata decode failures); a healthy cluster only shows the zero baseline

RDMA Dashboard presents RDMA network metrics at different granularities:

Dashboard Granularity Example Metrics
RDMA Pod Pod Read/write requests, error counts, CNP packets
RDMA Node Node RDMA device status, port speed
RDMA Cluster Cluster RDMA resource overview
RDMA Workload Workload Deployment/StatefulSet RDMA usage

Enable RDMA Metrics

RDMA Dashboard requires RDMA metrics collection:

helm install spiderpool spidernet-io/spiderpool \
  -n kube-system \
  --set grafanaDashboard.install=true \
  --set spiderpoolAgent.prometheus.enabled=true \
  --set spiderpoolAgent.prometheus.enabledRdmaMetric=true

Troubleshooting

Dashboard shows no data

Verify Prometheus is scraping spiderpool-agent and spiderpool-controller metrics. Check if ServiceMonitor is created. Then verify the Metrics environment variable:

kubectl get pods -n kube-system -l app.kubernetes.io/component=spiderpool-agent \
  -o jsonpath='{.items[0].spec.containers[0].env[?(@.name=="SPIDERPOOL_ENABLED_METRIC")].value}'

RDMA metrics show no data

Confirm nodes have RDMA devices and spiderpoolAgent.prometheus.enabledRdmaMetric is set to true.