常见问题
无数据排查
1、查询eBPF探针的 pod 列表及对应的node。
kubectl -n tingyun get pod -o wide
eBPF探针运行在tingyun-linux-agent-xxxxx的pod之内。
2、确认需要查看node节点上eBPF探针是否启动。
在每个node节点上执行:
kubectl -n tingyun exec -ti tingyun-linux-agent-xxxxx -- ps -ef | grep ebpf_agent | grep -v grep
如果进程存在,则表示eBPF探针已运行。如果进程不存在,则表示eBPF探针未运行。
3、确认探针未启用的原因。
确认node节点的内核版本是否被支持。
kubectl -n tingyun exec -ti tingyun-linux-agent-xxxxx -- cat /proc/version
对照支持列表中的系统版本和内核版本确认是否支持。
如果内核版本在支持范围内(内核版本大于4.15.0),确认是否探针禁用或者处于熔断状态。
kubectl -n tingyun exec -ti tingyun-linux-agent-xxxxx -- cat /opt/agent/ebpf/restart.log
4、如果探针正常运行,通过日志确认探针工作状态。
kubectl -n tingyun exec -ti tingyun-linux-agent-xxxxx -- cat /opt/agent/ebpf/logs/ebpf-agent.log
如果正常上传数据,会有类似如下日志:
2023-04-21 15:09:49.555 (pid:8815,uid:0) INFO Metrics upload Answer http://tingyun-collector.tingyun.svc:7666/ebpfMetrics?version=1.0.0&license=vZIqa8SUREkDAyMQ
{"status":"success","result":"ok"}
如果到Collector通信异常,可能会有类似如下错误日志:
2023-04-21 15:12:13.602 (pid:20192,uid:0) ERROR http://tingyun-collector.tingyun.svc:7666/ebpfInit?version=1.0.0&license=1234567890 Login Error ConnectFailed
需排查Collector部署状态和网络状态。