Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/catalyst/smokeping-mtr-alert
Run MTR automatically when SmokePing triggers an alert
https://github.com/catalyst/smokeping-mtr-alert
Last synced: 3 days ago
JSON representation
Run MTR automatically when SmokePing triggers an alert
- Host: GitHub
- URL: https://github.com/catalyst/smokeping-mtr-alert
- Owner: catalyst
- License: gpl-3.0
- Created: 2016-06-01T04:29:32.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-31T22:55:17.000Z (almost 7 years ago)
- Last Synced: 2024-02-14T21:19:45.485Z (9 months ago)
- Language: Python
- Homepage:
- Size: 33.2 KB
- Stars: 44
- Watchers: 6
- Forks: 12
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# smokeping-mtr-alert
When SmokePing detects an [alert](http://oss.oetiker.ch/smokeping/doc/smokeping_config.en.html#___top) condition it can be configured to run a script instead of sending an e-mail.
This script, when launched from SmokePing, runs an [MTR](http://www.bitwizard.nl/mtr/) traceroute in report mode and e-mails the output to the designated address. This can be useful in providing some clues as to the source of packet loss.
## Installation
This script requires that MTR and sendmail are installed and available on the path of the user running SmokePing.
`smokeping-mtr-alert` should be placed in a directory that is readable by the SmokePing user (such as `/usr/local/bin`), and marked as executable. As SmokePing does not permit arguments to be passed to alert scripts you may wish to use a wrapper script to override configuration (such as the destination e-mail address or system name). An example wrapper script is provided in `smokeping-mtr-alert-wrapper`.
SmokePing may then be configured in its "pipe" mode to run the script when an alert is triggered. The "from" address can be anything as it is not passed to the script.
*** Alerts ***
to = |/usr/local/bin/smokeping-mtr-alert
from = [email protected]+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a rowConfigured alerts may then be attached to targets.
++ AlertDemomenu = Demonstration
title = Demonstration host for alerts
host = 192.0.2.1
alerts = somelessMore information about the alerting syntax is available [in the SmokePing documentation](http://oss.oetiker.ch/smokeping/doc/smokeping_config.en.html#___top).
## Example e-mail
From: [email protected]
To: [email protected]
Subject: monitoring SmokePing alert: Test.AlertDemo
Date: Thu, 2 Jun 2016 13:27:22 +1200 (NZST)Packet loss report from monitoring for Test.AlertDemo at Thu Jun 2 13:27:22 2016.
mtr -n --report 192.0.2.1
Start: Thu Jun 2 13:27:12 2016
HOST: monitoring Loss% Snt Last Avg Best Wrst StDev
1.|-- 203.0.113.0 0.0% 10 0.7 6.3 0.4 55.9 17.4
2.|-- 198.51.100.0 0.0% 10 21.9 24.3 15.7 43.1 9.2
3.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0Alert triggered: someloss
Target: Test.AlertDemo
Target hostname: 192.0.2.1
Loss pattern: 100%
RTT: U## Usage
The positional arguments to the script will usually be provided by SmokePing itself.
usage: smokeping-mtr-alert [-h] [--email EMAIL] [--name NAME]
alert target loss_pattern rtt hostnameRun from SmokePing as a "pipe" alert target. Sends an MTR for the target to
the designated e-mail address. Michael Fincham
<[email protected]>.positional arguments:
alert name of the alert, supplied by smokeping
target target being monitored, supplied by smokeping
loss_pattern loss pattern that has triggered, supplied by smokeping
rtt current RTT for target, supplied by smokeping
hostname hostname of target, supplied by smokepingoptional arguments:
-h, --help show this help message and exit
--email EMAIL e-mail address to send report, defaults to root
--name NAME name of smokeping installation, defaults to hostname where
the script runs## Limitations
* No support for the `edgetrigger` option in SmokePing.
* SmokePing will not run a script with custom parameters, necessitating the use of a wrapper script if defaults need to be overridden.