Creation of a User Interface for Network Analysis02... · Technical University of Munich Creation...
Transcript of Creation of a User Interface for Network Analysis02... · Technical University of Munich Creation...
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Creation of a User Interface for Network Analysis
Florian Wiedner
February 1, 2017
Chair of Network Architectures and ServicesDepartment of Informatics
Technical University of Munich
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Contents
Background and Motivation
Related Work
External Resources
Architecture
Results
Conclusion
Bibliography
F.Wiedner – MoonGUI 2
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
MoonGen [4]
• Fast and flexible packet generator• Configured by a simple Lua Script• Uses DPDK as backend
F.Wiedner – MoonGUI 3
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
MoonGen GUI Motivation
configuration and starting
live data
CSVoutput
• GUI is intuitive• Charts are efficient
F.Wiedner – MoonGUI 4
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
MoonGen GUI Motivation
configuration and starting
live data
CSVoutput
• GUI is intuitive• Charts are efficient
F.Wiedner – MoonGUI 4
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
MoonGen GUI Motivation
configuration and starting
live data
CSVoutput
• GUI is intuitive• Charts are efficient
F.Wiedner – MoonGUI 4
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
MoonGen GUI Motivation
configuration and starting
live data
CSVoutput
• GUI is intuitive• Charts are efficient
F.Wiedner – MoonGUI 4
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
MoonGen GUI Motivation
configuration and starting
live data
CSVoutput
• GUI is intuitive• Charts are efficient
F.Wiedner – MoonGUI 4
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
MoonGen GUI Motivation
configuration and starting
live data
CSVoutput
• GUI is intuitive
• Charts are efficient
F.Wiedner – MoonGUI 4
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
MoonGen GUI Motivation
configuration and starting
live data
CSVoutput
• GUI is intuitive• Charts are efficient
F.Wiedner – MoonGUI 4
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Approach
• Browser-based graphical user interface for MoonGen• Real-time charts• Initial and running configuration• Handle various Lua scripts• REST API• LuaJIT on server side
F.Wiedner – MoonGUI 5
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Related Work
Ostinato T-Rex Grafana MoonGUIConfiguration
√ √ √
Latency Graph√ √ √
Custom Graphs√ √
Distributed System√ √ √
Web application√ √
Traffic generation√ √ √
F.Wiedner – MoonGUI 6
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Resources on Client Side - Framework [2]
F.Wiedner – MoonGUI 7
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Resources on Client Side - Graphing Library [3]
plotly.js
• Declarative Charting Library on D3• Including histogram and line graph• in-built actions and export• high-performance updating
F.Wiedner – MoonGUI 8
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Resources on Server Side [1]
• Webserver framework Turbo• Using LuaJIT• HTTP methods handled with Lua functions
F.Wiedner – MoonGUI 9
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
ArchitectureBrowser
Netw
ork
Requ
ests
Load
Side
Angular2
HTTPService
Moo
nGUI
App
MoonGUI Services
Test System
Server
LuaJITREST
API
MoonGen
DATA API
Operating/File System
Request
/Receive
Request/Receive
Collect Data
Application
start
Collect
Get FilesStart
Start Process
I/O
F.Wiedner – MoonGUI 10
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Architecture: Client SideComponents
AppHeader
...
Main
Sidebar
Services
DataModel
MoonGen
MoonConfig
MoonHistory
MoonConnect
F.Wiedner – MoonGUI 11
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Architecture: Server Side
Operating System File System
MoonGenMoonGUI.lua
DATA
API
Slow Pipe
Config Object
Server
RES
TAP
I
LuaS
ocke
tCollect Data
Collect Data
Start Prozess MoonGen/ Store Output
Start MoonGenSave/Load (Config,Log,PID)
Load Config
F.Wiedner – MoonGUI 12
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Server
standardized REST API
standardized DATA API
less performance impact
F.Wiedner – MoonGUI 13
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Server
standardized REST API
standardized DATA API
less performance impact
F.Wiedner – MoonGUI 13
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Configuration
standardized con-figuration file foruser interfacescript selection
MoonGen control
server control
F.Wiedner – MoonGUI 14
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Configuration
standardized con-figuration file foruser interfacescript selection
MoonGen control
server control
F.Wiedner – MoonGUI 14
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Configuration
standardized con-figuration file foruser interfacescript selection
MoonGen control
server control
F.Wiedner – MoonGUI 14
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Configuration
standardized con-figuration file foruser interfacescript selection
MoonGen control
server control
F.Wiedner – MoonGUI 14
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Configuration
interface selection
script specificconfiguration
F.Wiedner – MoonGUI 15
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Configuration
interface selection
script specificconfiguration
F.Wiedner – MoonGUI 15
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Log and Graph
live loging output
2 types of graphs
histogram line graph
charts are configurable
F.Wiedner – MoonGUI 16
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Log and Graph
live loging output
2 types of graphs
histogram line graph
charts are configurable
F.Wiedner – MoonGUI 16
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Log and Graph
live loging output
2 types of graphs
histogram line graph
charts are configurable
F.Wiedner – MoonGUI 16
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Log and Graph
live loging output
2 types of graphs
histogram line graph
charts are configurable
F.Wiedner – MoonGUI 16
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Log and Graph
live loging output
2 types of graphs
histogram line graph
charts are configurable
F.Wiedner – MoonGUI 16
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Result: Log and Graph
live loging output
2 types of graphs
histogram line graph
charts are configurable
F.Wiedner – MoonGUI 16
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
Conclusion
• MoonGUI is high-performance, flexible GUI for MoonGen• Includes more features then the related work• Customizable charts• Customizable scripts• Useful for different scenarios• Intiutive and efficient in design
F.Wiedner – MoonGUI 17
Chair of Network Architectures and ServicesDepartment of InformaticsTechnical University of Munich
[1] Introduction — Turbo.lua 2.0.0 documentation, 2016.Available online at https://turbo.readthedocs.io/en/latest/; last accessed on2016/11/27.
[2] One framework. - Angular, 2016.Available online at https://angular.io/; last accessed on 2016/11/19.
[3] plotly | JavaScript Graphing Library, 2016.Available online at https://plot.ly/javascript/; last accessed on 2016/11/23.
[4] P. Emmerich, S. Gallenmüller, D. Raumer, F. Wohlfart, and G. Carle.MoonGen: A Scriptable High-Speed Packet Generator.In Proceedings of the 2015 ACM Conference on Internet Measurement Confer-ence, pages 275–287, Tokyo, Japan, 2015. ACM.
F.Wiedner – MoonGUI 18