主机接入与内核要求
Diting 的采集能力来自主机上的 agent。这一页说明支持范围、权限要求和验证方法。
内核与发行版
- 内核 3.10 起
- 4.18 及以上使用原生 eBPF
- 没有 BTF 的内核使用兼容对象,能力会减少,但不会静默失败
- 已验证的发行版包括 CentOS 7、Rocky 8、Ubuntu 20.04 到 26.04、Debian 12/13、openSUSE 15.6、openEuler 24.03、麒麟 V10
权限
安装需要 root。安装脚本会:
- 挂载 debugfs 与 tracefs
- 提高
RLIMIT_MEMLOCK - 在 EL7 且 SELinux Enforcing 时安装策略模块
- 写入并启动 systemd 单元
如果以非 root 运行,agent 仍然在线,但采集、Profiling 和混沌相关能力会标记为 degraded 或 unsupported,原因写在心跳和通道状态里。
容器
- 支持 Docker、containerd、Kubernetes
- cgroup v1、v2 与混合模式都能识别容器身份
- gVisor、Kata 等强隔离运行时不在支持范围内
验证
sudo ./install.sh
diting-agent probe
curl -s localhost:<agent-port>/kernel-capabilities | jq
probe 检查的是当前进程的实际权限;/kernel-capabilities 描述的是内核支持情况。两者不一致时,以 probe 和心跳状态为准。
已知限制
- arm64 的 eBPF 运行时尚未在真实主机验证,目前只有交叉构建与模拟器 smoke
- 原生 on-CPU / off-CPU Profiling 不可用时,回退路径仍在完善,Profiling 会显示为降级而不是静默采样
- 兼容路径没有完整连接跟踪,部分因果字段会缺失
这些限制会出现在主机状态里,不会隐藏。
接入顺序
- 先接一台非核心主机,确认能力和开销
- 再按主机分组批量安装
- 最后开启 TLS 明文、Profiling 等资源敏感能力