Linux: 一切皆文件; peekfd: 偷看一切文件读写 📅 2024年07月06日 · ☕ 3 分钟 Linux 大部分数据流动,包括进程间通讯,socket…… 均通过文件描述符(fd) 读写实现。在 troubleshooting 时,如果可以偷看到 fd 的流量,那么很多问题可以加速证明/证伪。本文介绍一个老工具 peekfd ,可以在一定环境中完成这个任务。
轻量 eBPF+Prometheus+Trace - 微处觀自在 📅 2024年06月23日 · ☕ 6 分钟 以 ebpf_exporter 持续跟踪内核的 TCP/进程行为为例,说明基于轻量 eBPF+Prometheus+Trace 的定制系统底层观察和观察数据集成方法。
网络包的内核漂流记 Part 2 - BPF 跟踪 epoll/Envoy 事件与调度 📅 2022年05月04日 · ☕ 15 分钟 用例子说明,如何使用 BPF 跟踪:内核接收网络包,网络包在协议栈上的处理,epoll 事件等待和线程的调度机制
逆向工程与云原生现场分析 Part4 —— eBPF 跟踪 Istio/Envoy 之 upstream/downstream 事件驱动协作下的 HTTP 反向代理流程 📅 2022年04月04日 · ☕ 13 分钟 eBPF 跟踪 Istio/Envoy 之 upstream/downstream 事件驱动协作下的 HTTP 反向代理流程
逆向工程与云原生现场分析 Part3 —— eBPF 跟踪 Istio/Envoy 事件驱动模型、连接建立、TLS 握手与 filter_chain 选择 📅 2022年03月20日 · ☕ 17 分钟 使用 eBPF 技术和 bpftrace 工具,eBPF 跟踪 Istio/Envoy 之事件驱动模型、连接建立、TLS 握手与 filter_chain 的选择
逆向工程与云原生现场分析 Part2 —— eBPF 跟踪 Istio/Envoy 之启动、监听与线程负载均衡 📅 2022年03月13日 · ☕ 14 分钟 使用 eBPF 技术和 bpftrace 工具,跟踪 envoy/Istio sidecar proxy 的启动与监听 socket 行为。并进行源码级的分析。
gdb 调试 istio proxy (envoy) 📅 2022年03月10日 · ☕ 2 分钟 出于各种原因,需要 debug istio-proxy (envoy),记录一下步骤,希望地球上的有缘人有用。
逆向工程与云原生现场分析 Part1 —— eBPF 跟踪 Istio/Envoy 之学步 📅 2022年02月01日 · ☕ 13 分钟 使用 BPF 技术和 bpftrace 工具,跟踪 envoy/Istio sidecar proxy 的 socket 行为。并进行源码级的分析。
程序员的平行宇宙 —— eBPF 系统级跟踪技术简单入门 📅 2021年03月10日 · ☕ 5 分钟 Linus Torvalds in 1991 程序员的平行宇宙 程序员有两个世界: 一个是编码世界,我们很容易认为,我们考虑了一切,也完成了一切的代码。 然后是运行世界,我们发现,无论
系统级跟踪 eBPF 工具 —— bpftrace 入门 📅 2021年03月08日 · ☕ 1 分钟 bpftrace 简介 bpftrace 简单使用 查询可以跟踪的内核函数,以 sleep 为关键字 1 2 3 4 5 6 7 8 $ bpftrace -l '*open*' tracepoint:syscalls:sys_exit_open_tree tracepoint:syscalls:sys_enter_open ... kprobe:vfs_open kprobe:tcp_try_fastopen ... 跟踪所有 sys_enter_open() 系统调用 1 $ bpftrace -e 'tracepoint:syscalls:sys_enter_open{ printf("%s %s\n", comm,str(args->filename)); }' | grep vi 然后在另外