如何导出 RYU 统计数据

问题描述

使用 RYU 控制器,如何使用 simple_monitor 应用程序等将所有统计数据(在整个监控时间内)导出为 csv 文件作为时间序列统计数据?

解决方法

我通过在 _port_stats_reply_handler 函数中创建一个新文件来导出统计数据:

file = open('stats.csv','a')

然后在循环中我添加:

for stat in sorted(body,key=attrgetter('port_no')):
            file.write("\n{},{},{}"
            .format(ev.msg.datapath.id,stat.port_no,stat.rx_packets,stat.rx_dropped,stat.tx_packets,stat.tx_dropped))