-
Notifications
You must be signed in to change notification settings - Fork 183
Open
Description
net_watcher 项目:目标是分析主机中指定进程或者服务网络情况。比如当处于流量高峰时间段时,服务可能会进入高负载状态。另外还有服务的一些并发量,调用延时,应用层和网络层的分析。本课题要求能够在一般主机环境下都可以进行应用层协议和网络层分析,应用层协议分析主要目标是分析http协议(1.1,2,3);网络层协议主要分析tcp/ip层。本题目要求在LMP现有子项目(https://github.com/linuxkerneltravel/lmp/tree/develop/eBPF_Supermarket/Network_Subsystem/net_watcher),并将借鉴https://github.com/linuxkerneltravel/lmp/tree/develop/eBPF_Supermarket/sidecar 中的部分实现,基础之上继续迭代,优化现有网络性能监测功能,增加更多的网络可观测功能和指标。
实现目标:
●主机环境下对tcp/ip协议的分析,可以统计流量,延时,错误,链接信息等主要信息
●主机环境下对用户态http1的分析,可以分析出流量,延时,错误等信息
●主机环境下对用户态http2,3的分析
●主机环境下对用户态redis的分析
●主机环境下对用户态mysql的分析
●项目完整可运行,在github上有自动化测试流程,有单元测试和集成测试
项目技术要求
● 熟悉Linux内核网络系统的技术原理
● 熟悉Linux eBPF技术,能够通过eBPF实现内核事件的解析
运行要求:
● 运行系统: ubuntu22.4 以上
●场景验证:能在主机场景下完成课题实现目标,并有测试分析报告。
TODO
- 代码追加注释和测试说明
- 修复代码中现有已知问题
- netwatcher : 增加传参 bug修改 使用工具进行格式化 #648 修改不能取到发包的问题
- add netfilter time #685 netfilter 在网络层延迟时间
- 主机环境下对udp的分析,可以分析出流量,延时等信息
- netwatcher :抽象传输层、拉取延时在内核态 #604 抽象传输层 获取UDP处理时间
- 传参统计udp延迟时间、完善代码 #610 增加参数控制udp输出
- Add udp received packet traffic to netwatcher #661 udp收包流量分析添加到netwatcher、实现数据在终端和log文件同步输出
- netwatcher:udp send and add argument with rx and len #664 udp send
- 对采集数据进行可视化展示,使用prometheus,grafana进行展示
- add data visualization #678 Prometheus监控网络数据包的相关指标,通过Grafana进行可视化展示
- netfilter收发延时
- net_watcher:修改udp、netfilter代码架构信息 #737
- icmp协议收发延时
- netwatcher:add icmp info #742
- 主机环境下对用户态http1的分析,可以分析出流量,延时,错误等信息
- 主机环境下对用户态http2,3的分析
- HTTP 接收/发送请求量和耗时
- Redis 查询请求量和耗时
- netwatcher :更改uprobe适配判断、增添redis监控信息 (incomplete) #835
- netwatcher:增加redis的延时信息 #839
- netwatcher:寻找并修改挂载函数,使其能正确拉取延时 #852
- MySQL 查询请求量和耗时
- netwatcher:update README and capture Mysql information #822
- netwatcher:Sql time-consuming threshold and Dns request response number #831
- netwatcher:Modify Code #851
- TCP 连接建立数量和耗时
- TCP RTT 统计
- TCP 实时连接数、TIME_WAIT、CLOSE_WAIT
- DNS 请求/响应及数量(新版)
- net_watcher: Capture DNS-related information #807
- netwatcher:Sql time-consuming threshold and Dns request response number #831
- TCP 丢包及数量
- net_watcher:trace the reason of drop packet and add the function of addr to func-name with offset #732
- netwacher:增加submodule、增加栈的追踪 #808
- netwatcher:增加追踪栈参数及端口过滤 #817
- TCP 状态切换
- net_watcher:update and add tcpstate #752
Metadata
Metadata
Assignees
Labels
No labels