Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QA] 自定义RPC协议解析器无法采集系统调用日志 #8516

Open
3 tasks done
svensxl opened this issue Nov 19, 2024 · 3 comments
Open
3 tasks done

[QA] 自定义RPC协议解析器无法采集系统调用日志 #8516

svensxl opened this issue Nov 19, 2024 · 3 comments
Assignees
Labels

Comments

@svensxl
Copy link

svensxl commented Nov 19, 2024

Search before asking

  • I had searched in the issues and found no similar feature requirement.

Description

我用Rust实现了一个类似bRPC的私有的,扩展解析协议osp,能够正常解析网络包并记录宿主机和pod网卡的日志

Use case

但无法采集客户端和服务端的系统调用日志,查询clickhosue表flow_log.l7_flow_log,找不到相关联的trace日志,参见下图所示
1
2

请问是否我漏修改了什么代码,导致协议解析器,无法解析系统调用采集的数据包吗

Related issues

No response

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@svensxl
Copy link
Author

svensxl commented Nov 19, 2024

看起来是eBPF 的 hook 点, read/write的探针没有解析到,AF_PACKET网卡的解析成功

@yinjiping
Copy link
Contributor

yinjiping commented Nov 20, 2024

类似bRPC的私有的,扩展解析协议osp,这个协议ebpf无法解析出来,有两个方法:
1 agent/src/ebpf/kernel/include/protocol_inference.h 添加这个协议,让ebpf支持这个协议
2 直接配置端口的白名单,让这个端口(协议osp)的数据都送上来。

1 可能比较麻烦一些, 可以使用2试试 @svensxl

设置白名单参考:
https://github.com/deepflowio/deepflow/blob/main/server/agent_config/example.yaml#L1412

@svensxl
Copy link
Author

svensxl commented Nov 21, 2024

类似bRPC的私有的,扩展解析协议osp,这个协议ebpf无法解析出来,有两个方法: 1 agent/src/ebpf/kernel/include/protocol_inference.h 添加这个协议,让ebpf支持这个协议 2 直接配置端口的白名单,让这个端口(协议osp)的数据都送上来。

1 可能比较麻烦一些, 可以使用2试试 @svensxl

设置白名单参考: https://github.com/deepflowio/deepflow/blob/main/server/agent_config/example.yaml#L1412

谢谢,我尝试了第二种方法,有点奇怪,也导致了AF_PACKET网卡日志采集失败,我再试试第一种方法

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants