Releases: nttgin/BGPalerter
v1.28.1
[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 usevrpProvider: rpkiclient
in yourconfig.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 inmonitorRPKI
in order to enable/disable disappearing ROAs alerting (similar alerts are also produced bymonitorROAS
). - 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
andrpki
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 inmonitorROAS
. - @chrisamin for the support/patches on the RIPE RIS side.
Patches:
- v1.28.1 fixed #593
v1.28.0
Merge branch 'release' of github.com:nttgin/BGPalerter into release
v1.27.1
[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.0
minor edits to docs
v1.26.2
[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
bump minor revision and added description
v1.26.0
bring back validation cycle period to 100 ms
v1.25.0
[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
[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
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. TheuptimeApi
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
beforefadeOffSeconds
. - 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 themonitorASns
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)