I was trying this with docker 17.03, hopefully can also work with other versions.
Run ./docker_create.sh . It may require proper permissions of the given user (docker user or root).
This script downloads the containers and execute them. The garafa files will be stored in your local filesystem (~/grafana-sigcomm folder). A network link is also created between influxdb and grafana.
For stopping or restarting the containers you can use the other two scripts in the docker folder.
First, clone the official MoonGen repo and compile it with your DPDK environment. Then in the MoonGen folder you can execute the traffic generator:
sudo ./build/MoonGen THIS_REPO/moongen-script/tr-pcap.lua --dpdk-config=./dpdk-conf.lua -l 0 1 YOUR_DEMO.pcap
The lua script coordinates the traffic generation and stat collection. The --dpdk-config is optional. You can find an example for it in the libmoon subfolder of MoonGen. -l ensures that the pcap file will be replayed in an infinite loop (otherwhile it is played once). 0 is the RX port and 1 is the TX port id. Finally, you also have to add the pcap file.
The RX and TX rates are then printed into throughput.txt in the MoonGen folder.
First, create the db:
python2 influx_create.py
Second, check the first lines in influx_loader.py and modify DUT_IP='[email protected]' to the proper user and IP where the switch program under test is running. We assume RSA key authentication. The code does not work with password authentication. This step is needed for collecting CPU stats from the host machine of the software switch.
After that you can simply execute the loader script e.g. in screen:
python2 influx_loader.py ~/MoonGen/throughput.txt
The second parameter is the file generated by the MoonGen lua script.
For this, check the uploaded pdf file: grafana-setup.pdf