Skip to content

KubeStellar has multiple documentation versions to match its multiple releases.
Please make sure you are viewing the docs version which matches the release version of the code you are using!

Observability in KubeStellar#

KubeStellar provides endpoints and integrations for observability and monitoring. This page describes the available observability features, how to access them, and how to use them in a typical deployment.

Metrics Endpoints#

KubeStellar controllers expose Prometheus-compatible metrics endpoints. These endpoints respond to HTTP requests for metrics and can be queried by any monitoring system; KubeStellar does not mandate how metrics are collected or scraped. For an example of collecting both metrics and debug endpoint data using Prometheus, see the monitoring directory. This is just one possible approach; KubeStellar does not require or mandate any specific monitoring tool or method.

Metrics Endpoint Table#

Controller Protocol Port Path AuthN/AuthZ Notes
kubestellar-controller-manager HTTPS 8443 /metrics Kubernetes client authentication required when using the Service Service: kubestellar-controller-manager-metrics-service (default port, configurable via Helm values).
kubestellar-controller-manager HTTPS 8443 /metrics None (direct pod access) Access via Pod port 8443 (default, configurable via Helm values).
ks-transport-controller HTTP 8090 /metrics None (in-cluster) Default port, configurable via Helm values.
status-addon-controller HTTP 9280 /metrics None (in-cluster) Default port, configurable via Helm values.
status-agent-controller HTTP 8080 /metrics None (in-cluster) Default port, configurable via Helm values.

Note: The ports listed above are defaults. In the core Helm chart, the ports to use are configured in the chart's values. When using the Service for kubestellar-controller-manager, protocol is HTTPS and Kubernetes client authentication is required. Direct pod access may use HTTP.

Debug/Profiling Endpoints#

Some KubeStellar components expose Go's built-in pprof debug endpoints for profiling and troubleshooting.

pprof Endpoint Table#

Controller Protocol Port Path AuthN/AuthZ Notes
kubestellar-controller-manager HTTP 8082 /debug/pprof/ None
ks-transport-controller HTTP 8092 /debug/pprof/ None
status-addon-controller HTTP 9282 /debug/pprof/ None
status-agent-controller HTTP 8082 /debug/pprof/ None

Example: Accessing Metrics and Debug Endpoints#

Note: The following example assumes you have a running KubeStellar controller-manager pod and access to the appropriate Kubernetes context and namespace. The Deployment name is always kubestellar-controller-manager, but you may need to adjust the context and namespace for your environment.

kubectl --context kind-kubeflex port-forward -n wds1-system deployment/kubestellar-controller-manager 8443:8443 8082:8082

Access metrics: https://localhost:8443/metrics (Kubernetes client authentication required)

Access pprof: http://localhost:8082/debug/pprof/

Grafana Dashboards#

  • Example Grafana dashboards and configuration can be found in monitoring/grafana/.
  • After deploying Prometheus and Grafana (or your preferred stack), you can import dashboards to visualize KubeStellar metrics.

Additional Resources#


If you have suggestions for more observability features or documentation, please open an issue.