Skip to content

Releases: nttgin/BGPalerter

v1.28.1

23 Jun 20:25
Compare
Choose a tag to compare

[features]

  • Introduced monitorPathNeighbors for monitoring peers. You will get notified when an unexpected downstream or upstream AS appears as peer of your AS in an AS path. Basically you can "lock" your peers (the peers you expect to see in the AS path) and get notified when these change (read more).
  • Introduced reportPullAPI a REST API to retrieve alerts (pull, instead of the usual push approach; read more);
  • Introduced feature in monitorROAS to receive notifications of expiring ROAs (read more).
  • Introduced feature in monitorROAS to monitor for TA malfunctions; e.g., many ROAs disappearing or expiring in the same TA.

All features based on ROAs expiration times are currently supported only by vrp files generated by rpki-client 7.1
To enable these features use vrpProvider: rpkiclient in your config.yml or generate your own file with rpki-client 7.1

  • Improved reliability of the WebSocket connection to RIS. In particular, added monitoring of beacon prefixes to detect "silent" sockets (#535).
  • Introduced connectorRISDump, which, at boot time, retrieves a RIS dump about the monitored resources. This allows you to get notified about events that happened before BGPalerter started (read more).
  • Introduced feature that allows you to use a remote REST API as VRP input (read more).
  • Introduced groupsFile, an external file to define user groups. This allows to edit user groups for the report modules without changing the main config file (read more).
  • Added rpki-client.org as remote vrpProvider (thanks @job, read more)
  • Introduced checkDisappearing parameter in monitorRPKI in order to enable/disable disappearing ROAs alerting (similar alerts are also produced by monitorROAS).
  • Introduced config file version check. While old config files remain valid, if BGPalerter finds out your are missing out some features due to a non up-to-date config file, it will suggest you to update it.
  • Introduced possibility to use monitorROAS on specific prefixes (in addition to monitoring the entire AS).

[minor]

  • Improved config.yml.example with more comments/documentation.
  • Updated default thresholdMinPeers after review of last quarter reports.
  • Renamed master branch to main. Updated all references.
  • Fixed exception on reportSlack in case of missing default user group configuration.
  • Fixed generate prefix list command in case of low visibility prefixes.
  • Fixed bug which was deleting the configured rules of specific prefixes during prefix list regeneration (#518)
  • Added in documentation an example of BGPalerter+Routinator integration (thanks @AlexanderBand, read more)
  • Improved documentation, including: documentation on how to stage roas for testing, reorganized reports in dedicated section, and more.
  • Improved error handling for reportTelegram, it now provides an error in case of null chatId (thanks @Antonio-Prado)
  • Refactored rest and rpki configuration to be globally valid (instead of per module).

Special thanks to:

  • @job for introducing ROA expiration data into the vrps produced by rpki-client, for helping with the definitions of monitorPathNeighbors, and expiring ROAs and TA malfunctions in monitorROAS.
  • @chrisamin for the support/patches on the RIPE RIS side.

Patches:

  • v1.28.1 fixed #593

v1.28.0

23 May 14:16
Compare
Choose a tag to compare
Merge branch 'release' of github.com:nttgin/BGPalerter into release

v1.27.1

06 Jan 00:19
Compare
Choose a tag to compare

[features]

  • Added monitorROAS which alerts every time a ROA involving a monitored AS/prefix is added/removed/edited
  • Added monitoring for prefixes which previously were covered by ROAs but no longer are (e.g., TA malfunction)
  • Added hijack detection filtering based on RPKI data
  • The uptime API is now able to report the status of RPKI data availability and staleness
  • Centralized RPKI configuration across modules (https://github.com/nttgin/BGPalerter/blob/master/docs/rpki.md)
  • Added feature to periodically re-generate/update prefix list
  • Added feature to automatically reload prefix list file if edited.
  • Added by default a user group called 'noc' different from the 'default' one to avoid lazy configurations in which administrative alerts (like sw updates) are propagated to the noc
  • Added option to test the configuration
  • Improved monitorPath and added possibility to add multiple matching rules
  • Added feature to force the usage of UTC in log files (default)
  • Added Cloudflare as a possible VRP provider
  • Added option to append monitoring configurations (e.g., to add another ASn to an existent configuration, https://github.com/nttgin/BGPalerter/blob/master/docs/prefixes.md#generate)

[minor]

  • Improved stability of the connection to RIPE RIS and added a better re-connection approach
  • Fixed log file rotation
  • Made prefix generation more robust in case of RIPEstat failures (#353)
  • Added documentation for automatic software updates (thanks @jcoeder)
  • Added support for alerts in Microsoft Teams with reportHTTP (thanks @arpanet-creeper)
  • Published BGPalerter in npm
  • Fixes #404, #389, #349, #402, #345, #352

Patches:

  • v1.27.1 fixed reportTelegram not falling back on default user group (#432); fixed excludeMonitors option for monitorRPKI (#441 ); fixed issue with writing the pid file on some OSes (#447); and tests migrated to GitHub actions.

v1.27.0

10 Nov 02:24
Compare
Choose a tag to compare
minor edits to docs

v1.26.2

27 Jul 23:29
Compare
Choose a tag to compare

[features]

  • Introduced proxy support (thanks @fdomain for the help).
  • Introduced volume parameter. It allows to specify a directory that will be used by BGPalerter for reading/writing all needed files.
  • Introduced persistStatus parameter. If set to true, when BGPalerter is restarted the list of alerts already sent is recovered. This avoids duplicated alerts. #103.
  • Introduced reportTelegram (thanks @denisix for the help).
  • Added the possibility to specify an external file for as VRPs list for monitorRPKI.
  • Added UDP support on reportSyslog.

[minor]

  • Fixed wrong calculation of covering ROAs in monitorRPKI.
  • Added proper error handling in monitorRPKI when the VRPs are not downloadable or not parsable.
  • Improved documentation for docker.
  • Added documentation with configuration example for reporting to Mattermost (thanks @fstolba).
  • Added documentation with configuration example for reporting to Pushover (thanks Hugo Salgado).
  • Improved test coverage for reportSyslog, monitorRPKI.
  • Added parallel tests execution.
  • Updated all dev dependencies affected by lodash 4.17.15 prototype pollution.

Patches:

  • v1.26.1 fixed bug affecting reportHTTP in case of showPaths feature active, added test coverage
  • v1.26.2 fixed bug related to the the new volume feature which was breaking configurations containing absolute paths (#308)

v1.26.1

23 Jul 19:31
Compare
Choose a tag to compare
bump minor revision and added description

v1.26.0

18 Jul 16:47
Compare
Choose a tag to compare
bring back validation cycle period to 100 ms

v1.25.0

10 May 22:09
Compare
Choose a tag to compare

[features]

  • Extended monitorRPKI to support monitoring of entire ASes. It alerts in case of announcements of prefixes invalid or not covered by ROAs.
  • Introduced reportHTTP. This report is able to send alerts on a generic HTTP end-point (post requests). This introduces support for Mattermost and other chat based on webhooks.

[minor]

  • Fixed error management in case of RIS connection failure (#187)
  • Fixed config.yml generation when the download fails (#218)
  • Use 24 hours format in reports (#228)
  • Documentation improvements and new tutorials
  • Implemented updateMonitoredResources method in monitorPassthrough
  • Updated all dependencies, including minimist

v1.24.0

09 Mar 00:46
Compare
Choose a tag to compare

[features]

  • Introduced research environment, which removes some constraints enforced in production in order to allow experimental analysis
  • Introduced auto configuration wizard
  • Introduced Webex support (thanks Alan Haynes)

[minor]

  • Updated dependencies
  • Deprecation of resource_templates in favour of resourceTemplates in config.yml
  • Fixed generate prefixes option -s
  • Download default configuration from Git repo (which includes commented options), generate it locally only if the download fails

v1.23.2

24 Jan 14:34
Compare
Choose a tag to compare

Some parameters changed in config.yml
If you run the new BGPalerter release on the old config.yml the monitoring functionalities will work as usual. You will not enjoy many of the new features though.
Please see config.yml.example in order to update your configuration.

Changelog 1.23.0 (minor patches described at the end):

  • Major profiling: reduced memory and CPU usage.
  • Introduced the possibility to automatically log on files the BGP messages that generated an alert in order to facilitate inspection and debugging of network configuration. See reportFile.
  • Added docker builds for stable and dev releases. Each stable release is also preserved.
  • Introduced processMonitors for monitoring the process in a modular way. It is now possible to add multiple monitors to monitor uptime, performance, and exceptions. The uptimeApi has been merged into this new feature, see config.yml.example.
  • Introduced binary releases for Windows (experimental).
  • Introduced fade-off mechanism for monitoring events which make sense only if the BGP messages provoking the alerts are all happening in a short time frame. This will reduce visibility alerts which don't reach thresholdMinPeers before fadeOffSeconds .
  • Added option showPaths in all reporting modules (included reportSlack, solving #108).
  • Drastically improved log on file performances and memory usage (removed dependency from winston which was cause of the issue).
  • Upgraded to Node 12 (in package.json, binary, and docker).
  • Introduced a buffer to protect the process from sudden peaks of BGP messages (see option maxMessagesPerSecond).
  • Introduced maxDataSample option for monitor modules. See here.
  • Introduced possibility for the connectors to stream batches of messages.
  • New report module for Alerta (thanks Mircea Ulinic).
  • Exported in config.yml some advanced options and related documentation. See here.
  • Added support for Sentry exception logging (thanks Mircea Ulinic).
  • Solved memory leak #114 .
  • Fixed bug #100 where ignore: true in prefixes.yml was interfering with the monitorASns option (thanks Damian Zaremba).
  • Public release of the RPKI monitor module.
  • Changed defaults config values: notificationIntervalSeconds is now greater according to average user noise requirements; multiProcess has been introduced and set to false by default (before BGPalerter used two processes).
  • Added development modules: ConnectorFullThrottle that generates fast and unlimited BGP messages useful to test overall performances; monitorPassthrough to log on file all BGP messages.
  • Fixed -p flag for generating prefixes.yml from list of prefixes.
  • Introduced npm run inspect for Node.js profiling in Chrome.
  • Upgraded all dependencies.
  • Reduced number of external dependencies.

Minors:

  • v1.23.1 minor release for fixing a bug that could affect more specific matching
  • v1.23.2 minor release for fixing a bug that affected AS monitoring for IPv6

Note: A bug which provoked (in some cases) duplication of BGP messages has been addressed on the RIPE RIS side (thanks Christopher Amin, see #140)