这个项目能做什么

Hubble 是一个面向云原生工作负载的全分布式网络与安全可观测性平台,构建在 Cilium 和 eBPF 之上。它无需修改应用即可深入洞察服务通信与行为以及网络基础设施。 README 中描述的关键能力: - 服务依赖与通信映射:展示哪些服务在通信、通信频率以及由此形成的服务依赖图。它可以呈现 HTTP 调用以及 Kafka topic 的消费/生产。 - 运维监控与告警:帮助判断网络通信是否失败以及原因,包括 DNS 问题、应用问题还是网络问题,以及失败发生在第 4 层(TCP)还是第 7 层(HTTP)。它可以报告 DNS 解析问题、被中断或超时的 TCP 连接,以及未应答 TCP SYN 请求的比率。 - 应用监控:跟踪某个服务或跨集群的 HTTP 4xx/5xx 响应率,并报告请求与响应之间的延迟百分位(95th 和 99th),包括两个服务之间的延迟。 - 安全可观测性:识别被网络策略阻止的连接、从集群外部访问的服务,以及哪些服务解析了某个特定 DNS 名称。 该项目利用 eBPF 实现可编程、动态的可见性,目标是在需要的地方提供详细洞察的同时尽量减少开销。README 指出,Hubble CLI 与所有受支持的 Cilium 版本向后兼容,并且仅维护最新的 CLI 版本。 组件稳定性记录如下:Hubble CLI、Hubble Server 和 Hubble Metrics 标记为 Stable;Hubble Relay 为 Stable;Hubble UI 为 Beta。 重点介绍的功能包括:在 L3/L4 和 L7 上零成本自动生成服务依赖图,并提供 Service Map 可视化;针对网络行为的指标与监控;网络策略观测;HTTP 请求/响应速率与延迟;以及 DNS 请求/响应监控。流可见性覆盖单个 TCP 连接、DNS 查询、HTTP 请求、Kafka 通信等。 README 还记录了使用 allowlist 和 denylist 语义的原始流过滤器、JSON 编码的 FlowFilters、环境变量 HUBBLE_ALLOWLIST 和 HUBBLE_DENYLIST,以及用于保存和复用过滤器配置的 --print-raw-filters 和 --config 标志。 Hubble 是一个采用 Apache 2.0 许可证的开源项目,遵循 Cilium 项目的治理规则,并通过 Cilium Slack 的 #hubble 频道获得社区支持。