1
0
mirror of https://github.com/nttgin/BGPalerter.git synced 2024-05-19 06:50:08 +00:00

added checkDisappearing parameter for monitorRPKI do avoid duplicated alerts with monitorROAS

This commit is contained in:
Massimo Candela
2021-06-05 03:05:20 +02:00
parent e01a570ba4
commit fd525c8871
4 changed files with 5 additions and 2 deletions

View File

@@ -52,6 +52,7 @@ monitors:
params:
thresholdMinPeers: 3
checkUncovered: false
checkDisappearing: false
- file: monitorROAS
channel: rpki

View File

@@ -334,6 +334,7 @@ Parameters for this monitor module:
|Parameter| Description|
|---|---|
|checkUncovered| If set to true, the monitor will alert also for prefixes not covered by ROAs in addition of RPKI invalid prefixes. |
|checkDisappearing| If set to true, the monitor will check also for disappearing ROAs. Important: set this feature to false if you have monitorROAS enabled; monitorROAS provides diffs including disappearing ROAs. |
|thresholdMinPeers| Minimum number of peers that need to see the BGP update before to trigger an alert. |
|maxDataSamples| Maximum number of collected BGP messages for each alert which doesn't reach yet the `thresholdMinPeers`. Default to 1000. As soon as the `thresholdMinPeers` is reached, the collected BGP messages are flushed, independently from the value of `maxDataSamples`.|
|cacheValidPrefixesSeconds| Amount of seconds ROAs get cached in order to identify RPKI repository malfunctions (e.g., disappearing ROAs). Default to 7 days. |

View File

@@ -76,7 +76,8 @@ export default class Config {
name: "rpki-monitor",
params: {
thresholdMinPeers: 3,
checkUncovered: false
checkUncovered: false,
checkDisappearing: false
}
},
{

View File

@@ -92,7 +92,7 @@ export default class MonitorRPKI extends Monitor {
const covering = (extra.covering && extra.covering.length) ? extra.covering.map(i => `${i.prefix}|AS${i.asn}|maxLength:${i.maxLength}`).join(", ") : false;
const coveringString = (covering) ? `Valid ROAs: ${covering}`: '';
if (extra.roaDisappeared) {
if (extra.roaDisappeared && this.params.checkDisappearing) {
return `The route ${message.prefix} announced by ${message.originAS} is no longer covered by a ROA.`;
} else if (extra.valid === null && this.params.checkUncovered) {
return `The route ${message.prefix} announced by ${message.originAS} is not covered by a ROA`;