适用于 AKS 的 Inspektor 小工具目录(预览版)

Inspektor Gadget 附带一个小工具目录。 每个小工具都是一个基于 eBPF 的自包含工具,用于捕获一种系统活动并将其与 Kubernetes 元数据相关联。 本文列出了按类别分组的官方小工具,以便你可以为特定任务选择正确的工具。 这些小工具的用途非常广泛,涵盖从 DNS 故障排除到文件访问可观测性等多个方面,因此不妨浏览一下完整目录。

你可以使用 kubectl gadget run <gadget> 命令运行任何设备。 例如,kubectl gadget run trace_dns。 若要了解如何限定和运行小工具,请参阅 “运行小工具”以检查 AKS 上的工作负载

Important

AKS 预览功能可在自助服务和自愿选择的基础上启用。 预览版按“现状”和“视供应情况”提供,它们不包括在服务级别协议和有限保证范围内。 AKS 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:

设备类别

小工具按它们执行的观察类型命名。 前缀告知小工具的行为方式:

类别 前缀 Behavior
Trace trace_ 在事件发生时持续流式传输这些事件。
快照 snapshot_ 返回当前状态的时间点视图。
Top top_ 定期报告最繁忙的资源,例如 top 命令。
个人资料 profile_ 聚合一段时间内的数据,通常是直方图。
建议 advise_ 观察活动并建议配置。
审计 audit_ 记录与安全相关的审核事件。
其他 不符合上述类别的专用工具。

跟踪小工具

跟踪小工具实时流式传输事件。 使用它们实时查看活动情况。

小工具 它跟踪的内容
trace_bind 套接字 bind() 调用,以查看进程正在侦听哪些端口。
trace_capabilities Linux 能力检查,用于查找工作负载所需的能力。
trace_dns DNS 查询和响应,以及发起这些查询和响应的 Pod。
trace_exec 新的进程执行(execve)及其命令和参数。
trace_fsslower 文件系统操作速度比可配置阈值慢。
trace_init_module 内核模块加载 (init_module)。
trace_lsm Linux 安全模块 (LSM) 挂钩决策。
trace_malloc 用户空间内存分配和释放(malloc/free)。
trace_oomkill 内存不足(OOM)杀手事件。
trace_open 打开的文件(open/openat包含文件名和标志)。
trace_signal 在进程之间发送的信号。
trace_sni ClientHello 中的 TLS 服务器名称指示 (SNI) 值。
trace_ssl 通过 TLS 库上的用户态探针获取 SSL/TLS 数据。
trace_tcp TCP 连接、接受和关闭事件。
trace_tcpdrop 被内核丢弃的 TCP 数据包。
trace_tcpretrans TCP 重传。

快照小工具

运行快照小工具时返回当前状态。

小工具 它捕获的内容
snapshot_process 当前正在运行的进程。
snapshot_socket 活动网络套接字。
snapshot_file 每个进程当前打开的文件。

热门电子产品

排名靠前的小工具按活动定期刷新资源,类似于 Linux top 命令。

小工具 它排名的内容
top_process 按 CPU 和内存使用情况处理。
top_file 按文件读写活动划分的进程
top_tcp 按流量划分的 TCP 连接
top_blockio 通过块 I/O 进行处理。
top_cpu_throttle 因其 cgroup CPU 限制而受限的进程
top_cuda_memory 按 GPU (CUDA) 内存使用情况处理。

个人资料小工具

分析小工具会对一段时间内的测量数据进行聚合,并通常以直方图形式将其汇总。

小工具 它分析的内容
profile_cpu 通过采样堆栈跟踪分析 CPU 使用情况,用于火焰图分析。
profile_blockio 阻止 I/O 延迟分布。
profile_tcprtt TCP 往返时间(RTT)分布。
profile_qdisc_latency 排队规则 (qdisc) 延迟分布。
profile_cuda GPU (CUDA) 内核活动。

推荐小工具

Advise 工具会持续观察你的工作负载,并生成推荐配置。

小工具 建议的内容
advise_networkpolicy 一组基于观察到的流量的 Kubernetes 网络策略。
advise_seccomp 基于系统调用工作负荷的 seccomp 配置文件。

审计小工具

审计工具会记录与安全相关的事件,以供审查。

小工具 它审核的内容
audit_seccomp Seccomp 事件,例如被 seccomp 配置阻止或记录的系统调用。

其他小工具

这些专用工具针对特定的调试场景。

小工具 它的作用是什么
bpfstats 报告有关节点上运行的 eBPF 程序的统计信息,例如运行时和内存使用情况。
tcpdump tcpdump 样式捕获数据包,并将其写入 pcap 文件。
traceloop 在环形缓冲区中持续记录系统调用,以便进行事后回放。
deadlock 检测目标进程中的潜在互斥锁死锁。
fdpass 跟踪经由 SCM_RIGHTS 在进程之间传递的文件描述符。
fsnotify 跟踪fsnotifyinotify文件系统通知事件。
ttysnoop 镜像终端(tty 或 pts)会话的输入和输出。

注释

每个小工具都有自己的字段和内核要求。 某些小工具(如 GPU 相关小工具)需要具有匹配硬件的节点。

后续步骤