A tool to monitor results collected by RIPE Atlas probes and verify they match against predefined expected values.
RIPE Atlas Monitor
A Python tool to monitor results collected by RIPE Atlas probes and verify they match against predefined expected values.
How does it work?
On the basis of a RIPE Atlas measurement previously created, you define a monitor by declaring which results you expect that probes should produce: rules are used to map probes and their expected results. Depending on whether the collected results match the expectations, custom actions are performed: to log the result, to send an email, a syslog message or to run an external program.
descr: Check network reachability matching_rules: - descr: Probes from France via AS64496 src_country: FR expected_results: ViaAS64496 actions: EMailToNOC - descr: RTT from AS64499 and AS64500 below 50ms src_as: - 64499 - 64500 expected_results: LowRTT actions: EMailToNOC expected_results: ViaAS64496: upstream_as: 64496 LowRTT: rtt: 50 actions: EMailToNOC: kind: email to_addr: email@example.com subject: "ripe-atlas-monitor: unexpected results" measurement-id: 123456789
This tool is currently in beta: some field tests have been done but it needs to be tested deeply and on more scenarios.
Moreover, contributions (fixes to code and to grammatical errors, typos, new features) are very much appreciated. More details on the contributing guide.
But also suggestions? New ideas?
Please create an issue on GitHub at https://github.com/pierky/ripe-atlas-monitor/issues
- fix packaging issue
- analyze command, add the --show-all-dns-answers argument
- dst_responded criterion can be used for SSL measurements too (and is considered in analysis reports too)
- analyze command:
- JSON output
- show unique probes count for DNS measurements
- new check and analysis of DNS RCODEs
- analyze command, DNS answers analysis for records with no name and no type
- bug in IP addresses cache
- new checks and analysis for EDNS NSID option
- DNS answers analysis
- probes filter for run and analyze commands now accepts probe IDs and country codes
- more options for the analyze command:
- show probes (up to 3) beside results
- destination AS and upstream AS results
- show common sequences/patterns among results
- add --probes argument to run and analyze commands to filter results
- email logging of error messages
- fix empty resultset handling in analyze cmd
- Python 3.4 support
- -m argument for analyze command, to gather msm id and auth key from the monitor itself
- --dont-wait argument for run command
- error handling for null RTT results in analyze command
- better RTT results formatting in analyze command
- no stdout logging when used in daemonize mode
- error handling for IXPs networks info unavailability
- analyze command to show elaborated results from a measurement
- bash autocomplete
- continous monitors didn’t run continously
- better results and actions logging
First release (beta)