SmokeTrace ========== Description: Traceroute sourced monitoring with graphing and reporting. SmokeTrace records a path and assosicated statistics (IPs, number of hops, delay at each hop etc) to a destination. Criteria is then assigned to this path and alerts are generated for path changes such as hop or delay increases as defined by the alerting criteria. This is not related to the SmokePing plugin Smoketrace (which was removed in SmokePing 2.5.0 as per these release notes http://oss.oetiker.ch/smokeping/pub/CHANGES). Why was it Made: A similar concept to the infamous and brilliant SmokePing (http://smokeping.org/), but with traceroute! Every time I receive a SmokePing alert the first thing I do is run traceroute/mtr/etc to see where in the path the loss is occurring. If regular traceroutes where being run I could alert on this instead. What is it used for: SmokePing alerts are latency triggered events, SmokeTrace alerts are path triggered events. Future versions could incorporate latency monitoring and MTU monitoring to bring this into one tool although I think it's best to keep them separate. SmokePing could be extended to include other OWAMPs so the two tools' become more specialised in their respective fields and should aim to complement each other, not conflict. Technical details: * Written in PHP for Linux (it maybe altered at a later date to support other operating systems, unsure as yet) * Uses MySQL as back end not RRD files (testing will commence on MariaDB soon, unsure of other DB support as yet) * Still in alpha, so no public beta code release as yet, Q1-2014! * The alpha release looks similar to this, which will hopefully be improved upon in time for the beta release: http://goo.gl/K8NjCo Development Plan: Initial release (Q1/Q2 2014) will be the completed web interface and MySQL DB running "traceroutes" to a given destination using one of a possibility of methods (calling the native Linux traceroute binary in either UDP or ICMP mode, calling the MTR binary using ICMP, or the tcptraceroute binary). The output is formatted for storing the MySQL DB and path changes can be alerted on (a basic proof of concept release but at this stage the alerting won't be reliable using traceroute alone). After the initial release the next stage will integrate BGP. SmokeTrace will take a BGP feed and then cross-examine route changes from BGP with traceroute path changes. We can also factor in latency changes from the traceroute output. Together they pose the question: Was the path update received "worse" than the previous path? We can create alerting criteria then to make the alerting accurate (higher latency, longer path, more packet loss etc). The final step after routing integration is automatic traceroute destination generation (take BGP top hosts or NetFlow top hosts for example and automatically use them to populate SmokeTrace with new traceroute targets). At this point SmokeTrace will be considered out of beta and in version "1.0 stable". Who made it: James Bensley <jwbensley@gmail.com>