idea from: 郭传雄 SIGCOMM
✅的表示参考文档,表格内是进展,* 后表示代码更新处
The log file consist of many lines, each line in log file is a json object and is formatted like below
{"Host": "10.2.96.50", "Timestamp": 1523263580577352,"Entries": ["timestamp", "src", "Dst", "protocol", "RTT"], ...]}
result.json
{"host":"192.168.1.1","timestamp":1524502747,"num":1,"entries":[[1524502747,"192.168.1.1",8910,"192.168.1.41",8910,"tcp","tor",0,0.000823,0]]}
分成三块Json:
1.data.json
var data = {
"data":[
[[0, 0, 0], [0, 1, 82], [0, 2, 57], [0, 3, 74], [0, 4, 70], [0, 5, 66], [0, 6, 65], [0, 7, 64], [1, 0, 179]...]...]};
2.timestamp.json
var timestamp = {
"timestamp":[[1524502747,1524502750,1524502753,1524502756]]};
3.server.json
var server = {
"server":[["192.168.1.1","192.168.1.40","192.168.1.41","192.168.1.42","192.168.1.46","192.168.1.48","192.168.1.49","192.168.1.50"]]};
- visualize -> 2.0 data generate and picture generate, latency cdf and server picture
Series | Done |
---|---|
1 | 定义数据格式Log |
2 | 实现python pingmesh10v10可视化 +latency cdf图 |
3 | 实现Python pingmesh40V40可视化 |
4 | 构造自动生成数据程序 |
✅latency可视化 ✅Seaborn教程 ✅Seaborn颜色调整
- pingagent -> 1.0 socket server client ping each other on localhost, ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄
Series | Done |
---|---|
1 | 第一个C++程序 |
2 | 实现socket 简易版通讯 |
3 | 实现socket 人机交互版通讯 |
- pingagent.socket
- ->version1 本地1V1手动
- ->version2 自动1V1服务器
- ->version3 服务器1V1自动计时打印IP
Series | Done |
---|---|
1 | 实现Server加个time的ping |
2 | 实现两台服务器之间的ping |
3 | 实现自动计时 |
4 | 得到log数据 |
✅服务器配置 ✅两台服务器上ping ✅不同的服务器之间的跳转 ✅socket+linux
- pingagent.socket
- ->version4 服务器1v1自动保存日志
- ->version5 shell自动打印ping的rtt: nc ping hping
Series | Done |
---|---|
1 | 完成log输出 Timestamp, SrcIP, SrcPort, DstIP, DstPort, Protocol, ProbingType, MsgLen, RTT, ErrCode |
2 | 完成shell脚本/python模拟shell脚本,记录nc,ping的时间,得到baseline |
3 | 参考goaccess做log文档直接分析可视化监控 |
✅重要APUE.16 chapter ✅改用输出到printf ✅重要ping;nc文档 ✅linux net 命令大全(好东西) ✅Goaccess ✅nc命令构造http请求;重要
- pingagent.socket
- ->version6 shell 自动获取日志
- ->version7 得到json日志
- ->version8 服务器1vn 多链接
- ->version9 服务器1vn 保存json日志
- ->version10 服务器1vn 3s请求自动发送 保存日志
Series | Done |
---|---|
1 | json格式输出 |
2 | 改成:server ping 多次 client 多次 fork |
3 | 改成文件储存版本,并且存到server端 |
4 | 设定时间3S一发送 |
✅C语言语法 ✅Tcp server 1ping n client
- pingagent.socket->version11 完成一个shell 在服务器后台运行一次 一体化保存数据
Series | Done |
---|---|
1 | expect 和 spawn 和 key-generate 免除钥匙自动登录 |
2 | &实现后台操作的shell |
3 | shell自动化操作 |
✅如何写shell并行所有程序 ✅shell登录多台服务器 ✅免密码配置公共钥匙 ✅自动输入密码 ✅expect 和 spawn自动登录 ✅伪终端 ✅argv
- pingagent.socket->version12 初始demo完成,shell联通,C++PING,python画图一体化,以两个server为例
Series | Done |
---|---|
1 | 初始demo,shell读数据C++PING,python画图一体化,以两个server为例 |
2 | 读文件到python;用json画图 |
3 | 写clear.sh,调出2个bug |
-
准备部分: 需要的文件在version12里面:bb.sh(main); clear.sh; s12.cpp; c12.cpp ;vis.py
-
代码部分:把这些文件全部放到v11内,运行下面部分代码,可以得到实时的ping的值,输入绘图参数,得到热力图和Latency_cdf结果
ssh yiqing@192.168.2.254
cd pingmesh/v11
mkdir 100
mkdir 101
bash bb.sh
- pingagent.socket->version13 修改为多个server
Series | Done |
---|---|
1 | 添加clearmy.sh,实现pingmesh之后复原工作 |
2 | 添加automatickey.sh,实现pingmesh自动配网关到服务器之间秘钥 |
- pingagent.socket->version14 修改为任意n*nserver之间的pingmesh系统
Series | Done |
---|---|
1 | 第二版demo,shell读数据,clean,key作用,C++PING,python画图一体化,以两个server为例 |
2 | 后台双向并行,使得同时获得同一时刻所有数据 |
3 | 根据pinglist中server个数,自动实现获取服务器两两ping的数据 |
-
准备部分: 需要的文件在version13里面:main.sh; clearmy.sh;
-
代码部分:把这些文件全部放到v13内,运行下面部分代码,可以得到实时的ping的值
ssh yiqing@143.89.191.114
cd pingmesh
bash main.sh
每次运行完毕后需要
bash clearmy.sh
- pingagent.socket ->version14 配合画图实现一体化 N SERVER PING RESULT
Series | Done |
---|---|
1 | 8*8 服务器server client; 4个Timestamp图 |
2 | Python采用automatic动图;能够生成不同timestamp下的图 |
3 | 完成毕设中期进展,中期答辩PPT,demo2, 结构图,待提高 |
- pingagent.socket ->version15 将vis改成Echarts网页版 heatmap1
Series | Done |
---|---|
1 | 将vis改成html形式,Echarts添加服务器真实数据,画好heatmap |
✅Echarts学习 ✅Echarts timestamp ✅javascript 输出数据
- pingagent.socket ->version15 添加time轴,heatmap1 -> heatmap 2
Series | Done |
---|---|
1 | 将Echarts合并timestamp,可变动的pingmesh图 |
✅html语言入门 ✅Echarts文档 ✅Echarts TimeLine 教程
- pingagent.socket ->version15 添加vismap, heatmap 2 -> heatmap 3
- pingagent.socket ->version15 添加涟漪特效, heatmap 3 -> heatmap 4
Series | Done |
---|---|
1 | 改进vismap 彩色坐标标轴 |
2 | 添加涟漪特效:对于latency延误在前3位的数字 |
3 | 合并另一个Latency图 |
✅Echarts高亮 ✅网页切块 ✅好看的分割线 ✅画latency的图
- pingagent.socket ->version15 添加Latency Bar, heatmap 4 -> heatmap 5
Series | Done |
---|---|
1 | 正确显示latency |
2 | 添加zoom可缩放条+animation特效 |
3 | 合并两个container到一张图 |
Series | Done |
---|---|
1 | 论文提纲完成撰写一部分 |
2 | 研读+RDMA 缺点论文 |
✅RDMA over Commodity Ethernet at Scale
Series | Done |
---|---|
1 | 论文完成2/3 |
2 | 参考RDMA论文 |
3 | 制定last11-things计划 |
4 | DEMO3介绍完成 |
✅Stanford NetSight1 ✅Stanford NetSight2 ✅Microsoft Pingmesh ✅RDMA VS TCP ✅DC needs RDMA ✅RDMA over Ethernet中文版 ✅RDMA PFC死锁 RDMA活锁 郭传雄草稿 ✅ 吞吐与延迟 ✅RDMA no need of lossless ✅RDMA 的性能异常
- 所需文件:
- 代码部分:见agent-con-dsa/demo3
ssh yiqing@143.89.191.114
cd pingmesh
//预配置环境
bash automatekey.sh
bash clearmy.sh
//主程序
bash main.sh
//画图程序
cd DSA
python json2html.py
open ping-vis.html
Series | Done |
---|---|
1 | 论文除RDMA部分全部完成 |
2 | 论文修订格式 |
3 | 图片及待做实验 |
1.数据中心网络拓扑结构图
2.RDMA和TCP/IP的传输路径对比图
3.RDMA在数据中心中的应用
4.网络监测系统中agent模块内容
5.网络监测系统中controller模块内容
6.main.sh运行操作代码
7.网络监测系统中DSA模块内容
8.微软pingmesh可视化效果图
9.网络监测系统旧版本可视化效果
10.网络监测系统新版本可视化效果图
11.网络监测系统运行流程图(待更新)
12.网络监测系统运行操作代码
13.网络监测系统GUI界面(待做)
14.不同时间点下TCP/IP热力图可视化(I)时序图 ✅
15.不同时间点下TCP/IP条形图可视化(II)时序图 ✅
16.RDMA和TCP/IP不同的可视化效果对比图(待做)
17.RDMA网络下时序图产生的特殊点orPattern分析图(待做)
18.大规模数据中心仿真实验的可视化新结果(I) ✅
19.大规模数据中心仿真实验的可视化新结果(II) ✅
20.【我分别在网络空载的情况下和网络负载的情况下进行我的实验,对得出的Pattern进行分析】(待做)
Series | Done |
---|---|
1 | 论文参考文献修订 |
2 | 大规模数据生成 |
3 | 去除labelshow数字点标成为单纯图 |
4 | 添加slider滑动轴 |
5 | 构造论文中的TOR出错情况 |
当数据规模上1000x1000
呈现完整的图会非常的慢,由于计算力有限 现在想到的方法是: 1.以SPINE为单位求均值+最大值的图
2.开10个屏幕,每个屏幕展现100x100界面,但分别是0-100 server Ping 0-100 server,100-200 server Ping 100-200 server,...以此类推 若一个server坏了,这10个里必能检测到。
Series | Done |
---|---|
1 | 论文全文完成 |
Series | Done |
---|---|
1 | 初步界面设计 |
Series | Done |
---|---|
1 | 添加tkinter界面 |
2 | 添加button清除后不同效果 |
3 | 添加一个时间stamp的选项 |
4 | 添加一个RDMA or TCP/IP的选择 |
5 | 添加一个不断得PING,实时读取数据 |
(✅python登录那个ssh)[http://www.cnblogs.com/hushaojun/p/4607514.html]