Skip to content

Commit 830cca4

Browse files
new dist
1 parent 4df4430 commit 830cca4

File tree

3 files changed

+101
-79
lines changed

3 files changed

+101
-79
lines changed

dist/package-lock.json

+52-49
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bgpalerter",
3-
"version": "1.32.0",
3+
"version": "1.33.0",
44
"description": "BGP and RPKI monitoring tool. Pre-configured for real-time detection of visibility loss, RPKI invalid announcements, hijacks, ROA misconfiguration, and more.",
55
"author": {
66
"name": "Massimo Candela",
@@ -52,13 +52,13 @@
5252
"@babel/preset-env": "^7.23.9",
5353
"chai": "^4.3.10",
5454
"chai-subset": "^1.6.0",
55-
"mocha": "^10.2.0",
55+
"mocha": "^10.3.0",
5656
"pkg": "^5.8.1",
5757
"read-last-lines": "^1.8.0",
5858
"syslogd": "^1.1.2"
5959
},
6060
"dependencies": {
61-
"@sentry/node": "^7.99.0",
61+
"@sentry/node": "^7.100.1",
6262
"batch-promises": "^0.0.3",
6363
"brembo": "^2.1.0",
6464
"deepmerge": "^4.3.1",

dist/src/monitors/monitorROAS.js

+46-27
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,17 @@ var getTaToleranceDict = function getTaToleranceDict(tolerance) {
5050
var MonitorROAS = exports["default"] = /*#__PURE__*/function (_Monitor) {
5151
_inherits(MonitorROAS, _Monitor);
5252
function MonitorROAS(name, channel, params, env, input) {
53-
var _params$enableAdvance, _params$diffEverySeco;
53+
var _params$enableDiffAle, _params$enableExpirat, _params$enableExpirat2, _params$enableDeleted, _params$enableAdvance;
5454
var _this;
5555
_classCallCheck(this, MonitorROAS);
5656
_this = _callSuper(this, MonitorROAS, [name, channel, params, env, input]);
57+
_defineProperty(_assertThisInitialized(_this), "_enablePeriodicCheck", function (condition, checkFunction, seconds) {
58+
if (condition) {
59+
setInterval(function () {
60+
_this._skipIfStaleVrps(checkFunction);
61+
}, global.EXTERNAL_ROA_EXPIRATION_TEST || seconds * 1000);
62+
}
63+
});
5764
_defineProperty(_assertThisInitialized(_this), "_skipIfStaleVrps", function (callback) {
5865
if (!_this.rpki.getStatus().stale) {
5966
callback();
@@ -80,9 +87,14 @@ var MonitorROAS = exports["default"] = /*#__PURE__*/function (_Monitor) {
8087
}
8188
return times;
8289
});
83-
_defineProperty(_assertThisInitialized(_this), "_checkDeletedRoasTAs", function (vrps) {
90+
_defineProperty(_assertThisInitialized(_this), "_checkDeletedRoasTAs", function () {
91+
var vrps = _this.rpki.getVRPs(); // Get all the vrps as retrieved from the rpki validator
8492
var sizes = _this._calculateSizes(vrps);
8593
var metadata = _this.rpki.getMetadata();
94+
_this.logger.log({
95+
level: 'info',
96+
message: "Performing TA deletion check"
97+
});
8698
for (var ta in sizes) {
8799
if (_this.timesDeletedTAs[ta]) {
88100
var oldSize = _this.timesDeletedTAs[ta];
@@ -110,9 +122,18 @@ var MonitorROAS = exports["default"] = /*#__PURE__*/function (_Monitor) {
110122
}
111123
_this.timesDeletedTAs = sizes;
112124
});
113-
_defineProperty(_assertThisInitialized(_this), "_checkExpirationTAs", function (vrps, expiringVrps) {
125+
_defineProperty(_assertThisInitialized(_this), "_checkExpirationTAs", function () {
126+
var roaExpirationAlertHours = _this.roaExpirationAlertHours;
127+
var vrps = _this.rpki.getVRPs();
128+
var expiringVrps = vrps.filter(function (i) {
129+
return !!i.expires && i.expires - _moment["default"].utc().unix() < roaExpirationAlertHours * 3600;
130+
});
114131
var sizes = _this._calculateSizes(vrps);
115132
var expiringSizes = _this._calculateSizes(expiringVrps);
133+
_this.logger.log({
134+
level: 'info',
135+
message: "Performing TA expiration check"
136+
});
116137
var _loop = function _loop(ta) {
117138
var min = expiringSizes[ta];
118139
var max = sizes[ta];
@@ -146,16 +167,18 @@ var MonitorROAS = exports["default"] = /*#__PURE__*/function (_Monitor) {
146167
_loop(ta);
147168
}
148169
});
149-
_defineProperty(_assertThisInitialized(_this), "_verifyExpiration", function (roaExpirationAlertHours) {
170+
_defineProperty(_assertThisInitialized(_this), "_verifyExpiration", function () {
171+
var roaExpirationAlertHours = _this.roaExpirationAlertHours;
150172
var roas = _this.rpki.getVRPs();
151173
var metadata = _this.rpki.getMetadata();
152174
var expiringRoas = roas.filter(function (i) {
153175
return !!i.expires && i.expires - _moment["default"].utc().unix() < roaExpirationAlertHours * 3600;
154176
});
155-
if (_this.enableExpirationCheckTA) {
156-
_this._checkExpirationTAs(roas, expiringRoas); // Check for TA malfunctions
157-
}
158177
if (_this.enableExpirationAlerts) {
178+
_this.logger.log({
179+
level: 'info',
180+
message: "Performing expiration check on VRPs"
181+
});
159182
var prefixesIn = _this.monitored.prefixes.map(function (i) {
160183
return i.prefix;
161184
});
@@ -318,12 +341,14 @@ var MonitorROAS = exports["default"] = /*#__PURE__*/function (_Monitor) {
318341
_defineProperty(_assertThisInitialized(_this), "_diffVrps", function () {
319342
var newVrps = _this.rpki.getVRPs(); // Get all the vrps as retrieved from the rpki validator
320343

321-
if (_this.enableDeletedCheckTA) {
322-
_this._checkDeletedRoasTAs(newVrps); // Check for TA malfunctions for too many deleted roas
323-
}
324344
if (_this.enableDiffAlerts) {
325345
if (_this._oldVrps) {
326346
// No diff if there were no vrps before
347+
348+
_this.logger.log({
349+
level: 'info',
350+
message: "Performing diff on VRPs"
351+
});
327352
var prefixesIn = _this.monitored.prefixes.map(function (i) {
328353
return i.prefix;
329354
});
@@ -478,12 +503,14 @@ var MonitorROAS = exports["default"] = /*#__PURE__*/function (_Monitor) {
478503
_this.rpki = env.rpki;
479504

480505
// Enabled checks
481-
_this.enableDiffAlerts = params.enableDiffAlerts != null ? params.enableDiffAlerts : true;
482-
_this.enableExpirationAlerts = params.enableExpirationAlerts != null ? params.enableExpirationAlerts : true;
483-
_this.enableExpirationCheckTA = params.enableExpirationCheckTA != null ? params.enableExpirationCheckTA : true;
484-
_this.enableDeletedCheckTA = params.enableDeletedCheckTA != null ? params.enableDeletedCheckTA : true;
506+
_this.enableDiffAlerts = (_params$enableDiffAle = params.enableDiffAlerts) !== null && _params$enableDiffAle !== void 0 ? _params$enableDiffAle : true;
507+
_this.enableExpirationAlerts = (_params$enableExpirat = params.enableExpirationAlerts) !== null && _params$enableExpirat !== void 0 ? _params$enableExpirat : true;
508+
_this.enableExpirationCheckTA = (_params$enableExpirat2 = params.enableExpirationCheckTA) !== null && _params$enableExpirat2 !== void 0 ? _params$enableExpirat2 : true;
509+
_this.enableDeletedCheckTA = (_params$enableDeleted = params.enableDeletedCheckTA) !== null && _params$enableDeleted !== void 0 ? _params$enableDeleted : true;
510+
_this.diffEverySeconds = Math.max(params.diffEverySeconds || 600, 300);
511+
_this.checkExpirationVrpsEverySeconds = Math.max(_this.diffEverySeconds, 600);
512+
_this.checkTaEverySeconds = Math.max(params.checkTaEverySeconds || 0, _this.diffEverySeconds, 15 * 60);
485513
_this.enableAdvancedRpkiStats = (_params$enableAdvance = params.enableAdvancedRpkiStats) !== null && _params$enableAdvance !== void 0 ? _params$enableAdvance : true;
486-
_this.diffEverySeconds = (_params$diffEverySeco = params.diffEverySeconds) !== null && _params$diffEverySeco !== void 0 ? _params$diffEverySeco : 30;
487514

488515
// Default parameters
489516
_this.roaExpirationAlertHours = params.roaExpirationAlertHours || 2;
@@ -496,18 +523,10 @@ var MonitorROAS = exports["default"] = /*#__PURE__*/function (_Monitor) {
496523
asns: [],
497524
prefixes: []
498525
};
499-
if (_this.enableDiffAlerts || _this.enableDeletedCheckTA) {
500-
setInterval(function () {
501-
_this._skipIfStaleVrps(_this._diffVrps);
502-
}, _this.diffEverySeconds * 1000);
503-
}
504-
if (_this.enableExpirationAlerts || _this.enableExpirationCheckTA) {
505-
setInterval(function () {
506-
_this._skipIfStaleVrps(function () {
507-
return _this._verifyExpiration(_this.roaExpirationAlertHours);
508-
});
509-
}, global.EXTERNAL_ROA_EXPIRATION_TEST || 600000);
510-
}
526+
_this._enablePeriodicCheck(_this.enableDiffAlerts, _this._diffVrps, _this.diffEverySeconds);
527+
_this._enablePeriodicCheck(_this.enableExpirationAlerts, _this._verifyExpiration, _this.checkExpirationVrpsEverySeconds);
528+
_this._enablePeriodicCheck(_this.enableDeletedCheckTA, _this._checkDeletedRoasTAs, _this.checkTaEverySeconds); // Check for TA malfunctions for too many deleted roas
529+
_this._enablePeriodicCheck(_this.enableExpirationCheckTA, _this._checkExpirationTAs, _this.checkTaEverySeconds); // Check for TA malfunctions for too many expiring roas
511530
return _this;
512531
}
513532
return _createClass(MonitorROAS);

0 commit comments

Comments
 (0)