network
Specialized tools for network-level observability using Cilium and Hubble. Use this to investigate cluster-wide network flows, packet drops, and host-level networking without being restricted to a single namespace.
Network Observability Skill (Cilium/Hubble)
This skill leverages eBPF-powered introspection from Cilium and Hubble to provide deep visibility into the network datapath. It allows for real-time flow analysis and troubleshooting of connectivity issues across L3, L4, and L7.
🛠 Available Tools
| Tool | Purpose | Input Schema |
|---|---|---|
observe_network_flows | Query real-time network flows from Hubble Relay | { "namespace": "string", "pod": "string", "from_pod": "string", "to_pod": "string", "protocol": "string", "port": number, "to_port": number, "verdict": "string", "http_status": "string", "http_method": "string", "http_path": "string", "reserved": "string", "last": number } |
query_metrics | (via Telemetry) Execute PromQL for Hubble/Cilium metrics | { "query": "string" } |
📋 Standard Workflows
1. Cluster-wide Flow Investigation
Unlike the Hubble UI, the observe_network_flows tool allows for wider queries:
- Host Networking: Check flows specifically interacting with the host stack by setting
reserved: "host". - Directional Traffic: Use
from_podandto_pod(format:[namespace/]<pod-name>) to audit communication between specific workloads. - Cross-namespace: Query flows without a namespace filter to see inter-service communication across the entire hub.
2. Identifying Network Drops
If a service is failing to connect:
- Query
hubble_drop_totalviaquery_metricsto see if the kernel is dropping packets. - Use
observe_network_flowswithverdict: "DROPPED"andlast: 20to see exactly what traffic is being blocked and why.
3. DNS Troubleshooting
- Check
hubble_dns_queries_totalfor high failure rates. - Use
observe_network_flowswithprotocol: "udp"andport: 53to verify if DNS traffic is reaching thekube-dnspods.
4. L7 (HTTP) Auditing
- Filter for specific failure codes using
http_status: "5+"to find server-side errors. - Monitor specific API routes by setting
http_path: "/api/v1/.*".
💡 Operational Tips
- Hubble Relay: These tools connect to Hubble Relay, meaning they see flows across ALL nodes and namespaces.
- Prefix Matching: Pod filters (
pod,from_pod,to_pod) use prefix matching.databases/postgreswill match all postgres instances in thedatabasesnamespace. - L7 Visibility: Remember that L7 (HTTP/gRPC) visibility requires a
CiliumNetworkPolicyto be active on the target port. - Verdicts: Common verdicts include
FORWARDED,DROPPED,AUDIT, andREDIRECTED.
For detailed API documentation, see references/api-specs.md.