PAGES
← all tools
◆ Network Analysis & Monitoring

hubble

v1.18.0 open-source

Hubble - Network, Service & Security Observability for Kubernetes using eBPFeBPFA Linux technology for running verified programs inside the kernel without changing its source. Tools use it to observe processes, enforce rules and process network traffic.

Summary

hubble is an open-source network and security observability tool for Kubernetes, built on Cilium and eBPF to give visibility into how services communicate. It runs as a command-line client (hubble observe) against flow data collected in a cluster, letting practitioners filter live traffic by policy name, drop reason, CELCELCommon Expression Language, an open-source expression language maintained by Google, used to embed lightweight, safe policy evaluation logic into tools without running a full scripting engine. expression, or source and destination cluster in multi-cluster setups. It is aimed at platform and network engineers running Cilium who need to debug connectivity issues, audit which CiliumNetworkPolicy allowed or blocked a flow, or monitor DNS and HTTP error rates across services, rather than at general application developers. It sits in the network-observability space, purpose-built around Cilium's eBPF datapath rather than a general packet capturepacket captureA packet capture, recorded network packets that can be inspected later. Analysts use it to reconstruct communication and investigate protocol behavior or suspicious traffic. tool. Started in 2019, it remains active with 57 contributors, 77 commits in the past year, and a release 77 days ago.

Hubble - Network, Service & Security Observability for Kubernetes using eBPF

How hubble helps

Why is a connection between two of my services failing, and is it DNS, TCP, or the application?

inspects the flow record for that pair and shows where it broke — DNS resolution failure, a TCP reset or timeout, or an HTTP error code — rather than just confirming the connection dropped

Which network policy blocked a specific flow, and did anything actually allow it?

shows the name of the CiliumNetworkPolicy that permitted or denied each flow it observed, so a blocked request can be traced to the rule that caused it

Which services have talked to each other, and how often?

builds a live map of source and destination pairs from observed traffic, showing which services depend on which and at what frequency

Which pods have hit DNS failures recently?

filters the flow stream for failed DNS lookups within a recent time window and lists the pods affected

Is a problem confined to one cluster or crossing between clusters?

filters observed flows by source or destination cluster, so traffic can be isolated to the cluster where it originates or lands

How do I isolate exactly the flows relevant to an incident out of everything the cluster is generating?

matches flows against a custom expression written against fields like IP, port, and direction, narrowing the stream to only the traffic in question

all 15 features, with the evidence for each →

Languages

Not documented

Features

15 capabilities across 4 capability groups

Built from hubble's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • hubble covers 2 of the 34 network analysis capabilities we track.
  • hubble covers 2 of the 5 network observation capabilities we track.

What hubble offers you

  • Command-line interface11
  • gRPC API support1
  • JSON data export1
  • Offline mode1
Display filtering 5 features Network analysis since 2020
Multi-cluster and namespace filtering shipped Enables filtering observed flows by specific Kubernetes namespaces, pods, or cluster names in multi-cluster deployments. 4 releases · 2 other sources · first seen May 2021

Shared capability: Display filtering

Also counts toward: Command-line interface

release

  • Adds flags to filter by pods and services in any namespace via --namespace and --pod v0.13.0 · Jan 2024 · source · release history
  • Adds --cluster flag to filter flows by cluster name v0.13.0 · Jan 2024 · source · release history
  • Adds hubble list namespaces command to enumerate available Hubble namespaces. v0.12.0 · Jul 2023 · source · release history
  • Addition of the --node-name filter to hubble observe v0.8.0 · May 2021 · source · release history

example

  • Narrow down flow observation to a specific Kubernetes cluster within a multi-cluster deployment. hubble observe --cluster prod-eu-west-1 v0.13.0 · Jan 2024 · source
  • List all Hubble namespaces available in the cluster. hubble list namespaces v0.12.0 · Jul 2023 · source
Identity and policy filtering shipped Enables filtering observed flows by named identity groups, reserved identities, drop reasons, or associated CiliumNetworkPolicy names. 3 releases · 2 other sources · first seen Jun 2022

Shared capability: Display filtering

release

  • Adds --print-policy-names flag to hubble observe to display the names of CiliumNetworkPolicies (CNPs/CCNPs) that allowed or denied traffic. v1.18.0 · Aug 2025 · source · release history
  • Supports drop_reason_desc in flow filters, enabling filtering of flows by human-readable drop reason descriptions. v1.16.0 · Jul 2024 · source · release history
  • Supports named reserved identities for {,from-,to-}identity filters v0.10.0 · Jun 2022 · source · release history

example

  • Identify which CiliumNetworkPolicy allowed or dropped a specific flow — useful when auditing policy decisions across namespaces. hubble observe --print-policy-names v1.18.0 · Aug 2025 · source
  • Filter traffic by a named identity group instead of numeric IDs hubble observe --from-identity reserved:world v0.10.0 · Jun 2022 · source
Advanced expression-based filtering shipped Supports complex, custom flow filtering using Common Expression Language (CEL) and specific packet metadata like UUID. 3 releases · 2 other sources · first seen Jul 2023

Shared capability: Display filtering

Also counts toward: Command-line interface

release

  • Adds --cel-expression filter flag to hubble observe for powerful, custom expression-based flow filtering using Common Expression Language. v1.16.0 · Jul 2024 · source · release history
  • Adds --cel-expression flag to hubble observe for advanced flow filtering using Common Expression Language syntax. 1.16.0-pre.2 · May 2024 · source · release history
  • Adds the --uuid filter to hubble observe for narrowing results by packet UUID. v0.12.0 · Jul 2023 · source · release history

example

  • Filter live flows using a CEL expression to match only flows from a specific source IP and port — useful for precise, ad-hoc investigations without pre-built filter combinations. hubble observe --cel-expression 'flow.IP.source == "10.0.0.5" && flow.l4.TCP.destination_port == 443' v1.16.0 · Jul 2024 · source
  • Filter observed flows to a specific UUID for debugging. hubble observe --uuid 123e4567-e89b-12d3-a456-426614174000 v0.12.0 · Jul 2023 · source
Flow direction filtering shipped Filters captured flows to show only reply (server-to-client) or non-reply (client-to-server) traffic using dedicated flags. 2 releases · 2 other sources · first seen Jul 2023

Shared capability: Display filtering

Also counts toward: Command-line interface

release

  • Adds from and to cluster filters for filtering flows by source or destination cluster in multi-cluster environments v1.17.0 · Feb 2025 · source · release history
  • Adds the --direction filter to hubble observe (e.g., ingress, egress) for traffic direction filtering. v0.12.0 · Jul 2023 · source · release history

docs

  • Filtering Reply Traffic You can filter flows based on whether they are reply packets (server-to-client direction) or not. To see only reply flows: --reply To see only non-reply flows: --not-reply docs update · Jul 2026 · source

example

  • View only egress traffic flows. hubble observe --direction egress v0.12.0 · Jul 2023 · source
HTTP filtering shipped Supports filtering observed flows by HTTP method and path for debugging specific API traffic. 1 other source · first seen Oct 2020

Shared capability: Display filtering

example

  • Observe only POST requests to a specific API path for debugging. hubble observe --http-method POST --http-path /api/v1/nodes v0.7.0 · Oct 2020 · source
Flow record export (NetFlow, IPFIX) 1 feature Network analysis since 2024
Observability context enrichment shipped Provides additional metadata in flow output such as server-provided flow rates, node labels, and source/destination cluster details. 2 releases · first seen Jan 2024

Shared capability: Flow record export (NetFlow, IPFIX)

release

  • Exposes node labels in Hubble flow data, giving practitioners richer context for node-level traffic analysis. v1.16.0 · Jul 2024 · source · release history
  • Displays server-provided flow rates in the output v0.13.0 · Jan 2024 · source · release history
Network traffic analysis 1 feature Network observation since 2020
Protocol and event type inspection shipped Allows observation of specific protocol types (SCTP, HTTP) and internal Cilium events (SockLB, IPIP tunnels). 6 releases · 2 other sources · first seen May 2020

Shared capability: Network traffic analysis

Also counts toward: Command-line interface

release

  • Attaches datapath to IPIP tunnel devices, extending network visibility to IPIP tunnels. v1.18.0 · Aug 2025 · source · release history
  • Adds --http-url filter to hubble observe for matching HTTP URLs v0.13.0 · Jan 2024 · source · release history
  • Adds --http-headers filter to hubble observe for matching HTTP request headers v0.13.0 · Jan 2024 · source · release history
  • Enables SCTP protocol inspection in hubble observe via the new --protocol sctp option. v0.12.0 · Jul 2023 · source · release history
  • Adds support for Cilium SockLB events to observe socket-level service address translations v0.11.0 · Jan 2023 · source · release history
  • Enables observation of l7 events with Error policy verdicts v0.6.0 · May 2020 · source · release history

example

  • Filter hubble observe output to show only HTTP traffic matching a specific URL path and header combination. hubble observe --http-url '/api/v1/users' --http-headers 'Authorization: Bearer <token>' v0.13.0 · Jan 2024 · source
  • Capture only SCTP traffic flows in the cluster. hubble observe --protocol sctp v0.12.0 · Jul 2023 · source
Network flow analysis 1 feature Network observation since 2023
Offline flow ingestion shipped Supports reading captured network flows from local files or stdin for offline analysis, replacing automatic stdin detection with explicit flags. 2 releases · 1 other source · first seen Jul 2023

Shared capability: Network flow analysis

Also counts toward: Command-line interface, Offline mode

release

  • Automatic stdin detection is removed; use --input-file - explicitly if you were relying on it. v0.12.0 · Jul 2023 · source · release history
  • Introduces the --input-file flag on hubble observe, which supports reading flows from a file or stdin, replacing previous automatic stdin detection. v0.12.0 · Jul 2023 · source · release history

example

  • Read network flows from a file named capture.json for offline analysis. hubble observe --input-file capture.json v0.12.0 · Jul 2023 · source
Other / not yet classified 7 features Features we have not matched to a capability yet. A suggested match is marked.
Flow formatting and serialization shipped Provides options to format output for human consumption (colored, compact, JSON) or programmatic analysis (JSONPB, legacy JSON), including protocol-specific flags. 8 releases · 6 other sources · first seen Nov 2021

Also counts toward: Command-line interface, JSON data export

release 8 total

  • Introduces the HUBBLE_COMPAT=legacy-json-output environment variable to restore legacy JSON output format. v0.12.0 · Jul 2023 · source · release history
  • Add HUBBLE_COMPAT=legacy-json-output environment variable to enable legacy JSON output v0.11.1 · Jan 2023 · source · release history
  • The deprecated JSON formatter is removed; JSON output now uses jsonpb, requiring jq queries like .source to be rewritten as .flow.source v0.11.0 · Jan 2023 · source · release history
  • Displays traffic direction in -o compact output for policy verdict events v0.11.0 · Jan 2023 · source · release history
  • Adds --first flag to query for earlier flows and events v0.10.0 · Jun 2022 · source · release history
  • Deprecates -o json in favor of -o jsonpb v0.10.0 · Jun 2022 · source · release history

example

  • Force legacy JSON output format for backward compatibility with old parsers. HUBBLE_COMPAT=legacy-json-output hubble observe v0.12.0 · Jul 2023 · source
  • Output hubble events in the legacy JSON format for backward compatibility with existing tools. HUBBLE_COMPAT=legacy-json-output hubble flow --output json v0.11.1 · Jan 2023 · source
  • Parse JSON output with the new jsonpb field paths. hubble observe -o json | jq '.flow.source' v0.11.0 · Jan 2023 · source
  • Retrieve the most recent flows using the new --first flag hubble observe --first v0.10.0 · Jun 2022 · source
  • Export flows in the new Protocol Buffers format hubble observe -o jsonpb > flows.pb v0.10.0 · Jun 2022 · source
  • Visualize the current status of your Hubble deployment with multiple available formatting options, such as JSON for programmatic analysis. hubble status --output json v0.9.0 · Nov 2021 · source
Client connection management shipped Manages gRPC connections to the Hubble server, including automatic port-forwarding, request timeouts, and version inspection. 5 releases · 4 other sources · first seen Oct 2020

Also counts toward: Command-line interface, gRPC API support

release

  • Sends server version via gRPC response metadata, enabling clients to inspect the Hubble server version. v1.18.0 · Aug 2025 · source · release history
  • Adds native automatic port-forwarding in the Hubble CLI, replacing the previous kubectl-based implementation v1.17.0 · Feb 2025 · source · release history
  • Adds --request-timeout flag to configure timeout for unary RPCs v0.13.0 · Jan 2024 · source · release history
  • Adds TLS and mTLS support via CLI flags for connecting to Hubble Relay v0.7.0 · Oct 2020 · source · release history
  • Drop support for darwin/386 architecture v0.7.0 · Oct 2020 · source · release history

docs

  • helm upgrade cilium cilium/cilium --version 1.20.2 \ helm upgrade cilium oci://quay.io/cilium/charts/cilium 1.20.2 \ helm upgrade cilium cilium/cilium --version 1.20.2 \ helm upgrade cilium oci://quay.io/cilium/charts/cilium 1.20.2 \ seen Sep 2026 · source
  • helm upgrade cilium cilium/cilium --version 1.20.2 \ helm upgrade cilium oci://quay.io/cilium/charts/cilium 1.20.2 \ seen Sep 2026 · source

example

  • Limit the duration of a single hubble request to prevent hanging in slow network conditions. hubble observe --request-timeout 5s v0.13.0 · Jan 2024 · source
  • Connect to Hubble Relay using client certificates for mTLS authentication. hubble observe --tls --client-cert ~/.hubble/cert.pem --client-key ~/.hubble/key.pem v0.7.0 · Oct 2020 · source
Observation configuration management shipped suggested Supports saving observation filter configurations to YAML files and loading them for flow observation, along with applying environment variable-based filters during observation. 3 releases · 4 other sources · first seen May 2021

Suggested capability: Display filtering. This is our guess, not confirmed.

release

  • Adds drop_reason_desc field support in hubble flow filters, allowing practitioners to match flows by descriptive drop reason rather than numeric codes. 1.16.0-pre.2 · May 2024 · source · release history
  • Support for filtering events by IP version using the --ip-version flag v0.8.0 · May 2021 · source · release history
  • Filtering events by TCP flags using the --tcp-flags flag in hubble observe v0.8.0 · May 2021 · source · release history

example

  • Filter observed traffic to only include SYN packets for initial connection analysis. hubble observe --tcp-flags=syn v0.8.0 · May 2021 · source
  • Save raw filters to YAML file hubble observe --print-raw-filters --allowlist '{"source_label":["k8s:k8s-app=my-app"]}' > filters.yaml
  • Observe flows using saved config file hubble observe --config ./filters.yaml
  • Observe all flows with env var filters hubble observe
Recorder data capture shipped Enables capturing and observing recorder events via a dedicated subcommand and API. 1 release · 1 other source · first seen May 2021

Also counts toward: Command-line interface

release

  • New hubble record subcommand for capturing recorder data (preliminary support for the Hubble Recorder API) v0.8.0 · May 2021 · source · release history

example

  • Capture recorder events using the new experimental recorder API subcommand. hubble record v0.8.0 · May 2021 · source
Stream input from stdin shipped suggested Supports ingesting network flows directly from standard input for observation. 1 release · first seen May 2021

Suggested capability: Passive network discovery. This is our guess, not confirmed.

Also counts toward: Command-line interface

release

  • Support for reading flows from stdin via hubble observe --from-stdin or piping directly into the command v0.8.0 · May 2021 · source · release history
Configuration management subcommand shipped Provides a dedicated subcommand to manage the configuration file stored in the user config directory. 1 release · first seen Oct 2020

Also counts toward: Command-line interface

release

  • Adds the config subcommand to manage the configuration file stored in the user config directory v0.7.0 · Oct 2020 · source · release history
Relay topology inspection shipped Enables inspecting Hubble Relay topology and peer information via a dedicated reflection subcommand. 1 release · first seen Oct 2020

Also counts toward: Command-line interface

release

  • Adds the reflect subcommand for inspecting Hubble Relay topology and peer information v0.7.0 · Oct 2020 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for hubble, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail hubble puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Website history

cilium.io, every change

Cilium's home page and 40 more pages as they looked each month from September 2021 to October 2026: 50 renders, 1 change of tagline or palette. Step through them, play them, or put any two months side by side.

Website history is included with Researcher and Business.

See plans →

Releases

Show

17 entries

  1. July 20261
  2. August 20251
  3. May 20251
  4. February 20251
  5. November 20241
  6. July 20241
  7. May 20241
  8. January 20241
  9. July 20231
  10. January 20232
  11. June 20221
  12. November 20211
  13. September 20211
  14. May 20211
  15. October 20201
  16. May 20201
    Show

    17 entries

    Project health

    Issue, contributor and maintainer activity in cilium/hubble, 2023-12 – 2026-11, as of 2026-11-03. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 3 −5 vs prior 12 months
    2. Maintainers 2 +1 joined · −2 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 56% of issues opened, last 12 months
    5. Median time to close 17 days first maintainer reply 4.1 days
    6. Open backlog 43 of 229 issues ever filed
    1. Issues opened / month 0 · 1 communitymaintainers
    2. Open backlog 43
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 4,353
    Issue themes, last 12 months
    • questions 10%
    • other 90%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →