Skip to content

Understand the Observability Capabilities of Hubble: CCA practice questions

Hubble is the observability layer of Cilium. It does not add probes or agents to workloads; it reuses the visibility that the eBPF datapath already has, so flows can be recorded without changing applications. The component overview splits it into four parts.

By Ibrahim Yesilay · Published · Updated

Independent community practice, not affiliated with or endorsed by CNCF or The Linux Foundation.

What Understand the Observability Capabilities of Hubble covers in CCA

Hubble is the observability layer of Cilium. It does not add probes or agents to workloads; it reuses the visibility that the eBPF datapath already has, so flows can be recorded without changing applications. The component overview splits it into four parts. The Hubble server runs on each node inside the Cilium agent, which keeps overhead low, and offers a gRPC service for flows and Prometheus metrics. Hubble Relay connects to the gRPC APIs of all servers and presents one API for the whole cluster, or for several clusters in a Cluster Mesh. The hubble command-line client talks either to Relay or to a local server. Hubble UI uses Relay to draw a service dependency map.

By default the Hubble API has node scope: an agent only sees the traffic that it handles itself, and the hubble binary inside each agent pod reads it through a local Unix domain socket. Relay is what turns these per-node views into a cluster-wide one, and it needs TCP port 4244 open on every node running Cilium so it can reach the servers through the hubble-peer service. If Relay logs connection refused errors while dialing hubble-peer, it cannot reach the agents' Hubble API.

The documentation frames Hubble around concrete questions. For service dependencies it answers which services talk to each other, how often and which HTTP calls are made. For monitoring it shows whether communication is failing and at which layer, for example DNS resolution problems, interrupted TCP connections or unanswered SYN requests. For application monitoring it can report rates of 4xx and 5xx responses and request latency percentiles, and for security observability it shows which connections were blocked by network policy and which services were reached from outside the cluster.

Flows can also become metrics. Hubble metrics describe the network behaviour of pods and are enabled by listing them in hubble.metrics.enabled, for example dns, drop, tcp, flow and httpV2, with labels controlled by context options such as sourceContext or labelsContext. They are exported under the hubble_ prefix on port 9965. They are separate from Cilium metrics, which describe the agent, Envoy and operator processes themselves and are switched on with prometheus.enabled.

Hubble is treated as a non-critical subsystem. When it fails to start, for example because the metric list names an unknown metric, the agent keeps running and forwarding traffic, and cilium status reports a warning rather than an outage.

Key points

  • The Hubble server is embedded in cilium-agent; Relay is a separate Deployment that aggregates all servers.
  • Relay reaches the per-node servers through the hubble-peer service and needs TCP 4244 open on every node.
  • Hubble metrics (hubble_ prefix, port 9965) describe pod traffic; Cilium metrics (prometheus.enabled) describe Cilium itself.
  • A Hubble failure does not stop the agent; cilium status shows a warning instead.

Three sample questions

11 CCA questions on Understand the Observability Capabilities of Hubble, 11 with explanations. How practice works

Question 1

What does Hubble provide in a Cilium deployment?
  1. A.Encryption for pod-to-pod traffic
  2. B.Service load balancing
  3. C.Network observability and monitoring
  4. D.Identity-based authentication

Correct answer: C

Hubble is Cilium's observability layer that provides visibility into network traffic and security events. It allows users to observe and understand network flows, troubleshoot connectivity issues, and monitor network policy enforcement.

Question 2

Which Hubble component is responsible for aggregating flow data from all nodes in a cluster?
  1. A.Hubble UI
  2. B.Hubble Relay
  3. C.Hubble Server
  4. D.Hubble Collector

Correct answer: B

Hubble Relay is the component responsible for aggregating flow data from all nodes in a cluster. It collects data from individual Hubble servers running on each node and provides a unified API for querying cluster-wide flow data.

Question 3

To enable Hubble with metrics collection, which Cilium ConfigMap settings are required?
  1. A.
    enable-hubble: "true"
    hubble-metrics-server: ":9091"
    hubble-metrics: "drop,tcp,flow,icmp,http"
  2. B.
    hubble-enabled: "true"
    metrics-server: ":9091"
    metrics-types: "drop,tcp,flow,icmp,http"
  3. C.
    enable-hubble: "true"
    enable-metrics: "true"
    metrics-types: "drop,tcp,flow,icmp,http"
  4. D.
    hubble.enable: "true"
    hubble.metrics: "drop,tcp,flow,icmp,http"
    hubble.metrics-port: "9091"

Correct answer: A

These are the correct ConfigMap settings to enable Hubble with metrics collection. "enable-hubble: "true"" enables Hubble itself, "hubble-metrics-server: ":9091"" configures the metrics server port, and "hubble-metrics: "drop,tcp,flow,icmp,http"" specifies which metric types to collect.

Practice this topic

Focus mode keeps every question on Understand the Observability Capabilities of Hubble until you leave it. 10 free guest answers, then a free account; no credit card.

Or open CCA practice across all topics.

Sources

The explanation above was checked against these official documents.

Frequently asked questions

Is Hubble Relay required to use Hubble?

No. Each agent serves its own node-scoped Hubble API, readable with the hubble binary inside the agent pod. Relay is needed for a cluster-wide view and for Hubble UI.