A Python tool to monitor results collected by RIPE Atlas probes and verify they match against predefined expected values.
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: noc@agreatcompany.org
subject: "ripe-atlas-monitor: unexpected results"
measurement-id: 123456789
A quick start guide, commands references, monitors' configuration, syntax and everything else can be found on ReadTheDocs: https://ripe-atlas-monitor.readthedocs.org/
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
Pier Carlo Chiodi - https://pierky.com
Blog: https://blog.pierky.com Twitter: @pierky