漫步远方,心荡神往

eBPF 探索 Linux 可观测性、网络、安全、性能

eBPF 在云厂商可观测性落地与实践,实现高效定位与诊断棘手问题,本文主要介 eBPF 基础知识、pwru 示例、eBPF 实现原理、eBPF 核心实现流程与常见问题、云厂商 eBPF 产品落地实践等。

eBPF 在 Linux 操作系统中,可以用于安全、网络和性能监控。AWS、Azure 和 Google Cloud 等云厂商 eBPF 相关云产品相继被推出,国内云厂商也有很多的落地与实践,如阿里云、华为云、字节火山引擎、百度智能云等。

pwru: 一款基于 eBPF 的细粒度网络数据包排查工具

在 eBPF(Extended Berkeley Packet Filter)中,pwru 的主要功能是进行性能分析,它可以帮助理解系统中各种内核和用户空间任务的行为。这是通过在内核中执行 eBPF 程序并收集有关系统行为的数据来实现的。

pwru 是 Cilium 推出的基于 eBPF 开发的网络数据包排查工具,它提供了更细粒度的网络数据包排查方案。本文将介绍 pwru 的使用方法和经典场景,并介绍其实现原理。pwru 用于在Linux内核中追踪网络数据包,并具有高级过滤能力。它允许对内核状态进行细粒度的跟踪,并可以用来调试网络连接性问题。

eBPF 周边生态圈明星产品

主要介绍基础项目如BCC、Cilium等,新兴项目如Pyroscope、eCapture等,同时介绍基础设施如Linux Kernel、bpftool和常见的eBPF工具链如cilium/ebpf、libbpfgo、libbpf等。

主要介绍基础项目如BCC、Cilium等,新兴项目如Pyroscope、eCapture等,同时介绍基础设施如Linux Kernel、bpftool和常见的eBPF工具链如cilium/ebpf、libbpfgo、libbpf等。

使用 Pixie 实现 Kubernetes 服务可观测性(4)

Pixie 是一个开源的观测和调试平台,旨在实时捕获、查询和可视化云原生应用程序的数据。它提供了一种轻量级的方式来收集和分析 Kubernetes 集群中的数据,以便进行实时观察、调试和监控。

Pixie 是一个用于 Kubernetes 应用程序的开源可观察性平台。Pixie 使用 eBPF 自动捕获遥测数据,可以使用 Pixie 查看集群的状态(服务映射、集群资源、应用程序流量),还可以深入查看更详细的视图(pod 状态、火焰图、应用程序单个请求生命周期)。Pixie 由 New Relic 公司于 2021 年 6 月捐赠给 [CNCF](https://www.cncf.io/) 作为孵化项目。

使用 Hubble 实现 Kubernetes 服务可观测性(3)

Hubble 是一个用于云原生工作负载的完全分布式网络和安全可观察性平台。它建立在 Cilium 和 eBPF 之上,以完全透明的方式深入了解服务的通信和行为以及网络基础设施

Hubble - 使用 eBPF 的 Kubernetes 的网络、服务和安全可观测性。Hubble 则是 Cilium 的一个子项目,专注于提供网络可观察性。Hubble 可以收集和可视化 Cilium 网络的流量信息,帮助用户理解网络流量的模式,检测网络问题,理解应用的行为。Hubble 提供了一个丰富的可视化界面,可以显示网络流量的详细信息,包括源 IP、目标 IP、端口号、协议类型、数据包数量、字节数量等。