200 likes | 331 Vues
This document outlines the advancements in Network Diagnostic Tools (NDT) including self-testing capabilities, automated server logging, and enhanced post-processing tools. NDT now features tools like JAnalyze and Genplot for visualizing and analyzing Web100 data and TCPDump files. Site administrators can efficiently troubleshoot issues affecting multiple users, while developers can experiment and test new detection algorithms rapidly. The updates aim to facilitate a seamless experience for both administrators and developers, ensuring effective problem resolution and innovative tool development.
E N D
NDT Administrator Tools Jakub Slawinski <jeremian@poczta.fm> Rich Carlson <rcarlson@internet2.edu> Internet2 Fall Member Meeting October 9, 2007
NDT Attributes • Users self-test using Java based client • Test results contain details about the test including indications about what could be wrong • Server automatically logs basic test results • Server can also log more detailed results for post-processing tasks
Post Processing Tasks • Allow site administrators to find problems effecting multiple clients • Allow site administrators to verify that problems have been resolved • Allow developers to experiment with new detection algorithms • Allow developers to quickly test new features
NDT Post Processing Tools • Genplot • Simply program to display Web100 data • Testing FrameWork (TFW) • Set of python scripts to automate testing • JAnalyze • Java based version of Analyze program
Genplot • Simple program to post-process Web100 data • Reads Web100 snaplog files • Textual display of requested variables • Graphical display of requested variables • Run time flags allow quick access to common variables
Genplot – Textual Display • ‘genplot -tmCurCwnd,SlowStart,CongAvoid,CongestionSignals fn | less’
Genplot – Graphical Display • ‘genplot –C fn; xplot fn.xpl’
TFW • Set of python scripts to centralize and automate testing • Generate various data streams with configurable Bandwidth Utilization • Future Enhancements • Automatic NDT client/server start-up • Automatic fetching of test results
JAnalyze • Java GUI replacement for old Analyze program • Reads web100srv.log file for input • Filters can be applied to limit selection • Clicking on client address brings up test details • Xplot graphs for Web100 and TCPDUMP files easily available • Server CPU utilization graphs available • Rapid prototyping of new analysis algorithms
JAnalyze - Filters • Limit client list based on • Client IP address • Fault condition (Duplex Mismatch, Congestion, …) • Allows site administrators to quickly • Find problems effecting multiple users • Determine when a problem has been resolved
JAnalyze - Web100 Data • Simple printing/plotting of Web100 data using the genplot tool • Display user defined variables • Single click to display CurCwnd vs time plot • Textual display in scrollable window
JAnalyze - TCPDUMP • Simple printing/plotting of TCPTrace data • Single click to display server-to-client TCP throughput graph (“tcptrace –S” xplot) • Single click to display textual information (“tcptrace –l” data)
JAnalyze – New Analysis • Rapid prototyping of new analysis algorithms • Currently working on ‘Congestion Detected’ algorithm
JAnalyze - Demo • The presentation will stop and I will demo the various components of the JAnalyze tool
Gotcha’s • NDT-3.4.4 requires unixODBC-devel package • JAnalyze requires SUN Java SDK package • Must install xplot • http://www.xplot.org/ • Must install tcptrace • http://jarok.cs.ohiou.edu/software/tcptrace/download.html
Acknowledgements • Jakub Slawinski • Google Summer of Code Student has done most of the coding for the past 2 years. • Developed JAnalyze and TFW tools • Made numerous enhancements to main NDT code
Conclusion • Enhanced post-processing tools to aid Administrators • Identify problems that effect multiple clients • Identify when problems have been resolved • Enhanced post-processing and testing tools to aid Developers • Easy method to generate test data • Ability to rapidly experiment with new detection algorithms