2021-01-05 15:23:31 +01:00
[](https://github.com/nttgin/BGPalerter/actions?query=workflow%3AMain)
2019-10-27 22:28:06 +01:00
[](https://houndci.com)
2019-10-25 17:56:33 +02:00
2019-09-21 03:55:25 +02:00
# BGPalerter
2020-07-19 19:05:07 +02:00
Self-configuring BGP monitoring tool, which allows you to monitor in **real-time ** if:
2020-07-18 18:43:30 +02:00
* any of your prefixes loses visibility;
* any of your prefixes is hijacked;
2020-12-11 04:32:28 +01:00
* your AS is announcing RPKI invalid prefixes (e.g., not matching prefix length);
* your AS is announcing prefixes not covered by ROAs;
2021-05-22 19:21:09 +02:00
* any of your ROAs is expiring;
2021-05-23 15:48:57 +02:00
* ROAs covering your prefixes are no longer reachable;
* RPKI Trust Anchors malfunctions;
2020-11-10 04:19:00 +01:00
* a ROA involving any of your prefixes or ASes was deleted/added/edited;
2020-07-18 18:43:30 +02:00
* your AS is announcing a new prefix that was never announced before;
2021-05-05 21:32:56 +02:00
* an unexpected upstream (left-side) AS appears in an AS path;
2021-04-27 19:00:11 +02:00
* an unexpected downstream (right-side) AS appears in an AS path;
2020-12-11 04:41:10 +01:00
* one of the AS paths used to reach your prefix matches a specific condition defined by you.
2019-09-21 03:55:46 +02:00
2020-11-10 04:19:00 +01:00
You just run it. You don't need to provide any data source or connect it to anything in your network since it connects to [public repos ](docs/datasets.md ).
2019-10-05 19:18:11 +02:00
2020-12-11 04:41:10 +01:00
It can deliver alerts on files, email, kafka, slack, and more.
2019-09-21 03:55:46 +02:00
2020-12-11 04:41:10 +01:00

2019-07-15 10:36:01 +00:00
2020-11-10 04:19:00 +01:00
> BGPalerter connects to public BGP data repos (not managed by NTT), and the entire monitoring is done directly in the application (there are no NTT servers involved).
2020-04-14 04:37:35 +02:00
2020-03-09 01:26:55 +01:00
## TL;DR (1 minute setup)
2019-08-15 13:31:56 +02:00
> This section is useful if you don't care about the source code but you just want to run the monitor.
2020-01-30 00:10:30 +01:00
Instead, if you want to run the source code (which is completely open) or develop, please read directly the documentation.
2019-07-15 10:36:01 +00:00
2019-09-19 23:33:47 +02:00
1. Download the binary [here ](https://github.com/nttgin/BGPalerter/releases ) (be sure to select the one for your OS)
2019-07-15 10:36:01 +00:00
2020-12-13 05:48:25 +01:00
2. Execute the binary (e.g., `chmod +x bgpalerter-linux-x64 && ./bgpalerter-linux-x64` )
2020-03-12 14:48:51 +01:00
The first time you run it, the auto-configuration will start.
2019-07-15 10:36:01 +00:00
2020-12-11 04:41:10 +01:00
If something happens (e.g., a hijack) you will see the alerts in `logs/reports.log` .
In `config.yml` you can find other reporting mechanisms (e.g., email, Slack, Kafka) in addition to logging on files.
2020-01-30 00:10:30 +01:00
Please uncomment the related section and configure according to your needs.
2020-03-09 01:26:55 +01:00
If the installation doesn't go smoothly, read [here ](docs/installation.md ).
2020-01-30 00:10:30 +01:00
Read the documentation below for more options.
2019-07-15 10:36:01 +00:00
2019-10-05 19:18:11 +02:00
## Documentation
- [Installation ](docs/installation.md )
2019-12-12 22:47:00 +01:00
- [Run from binary ](docs/installation.md#running-bgpalerter-from-binaries )
- [Run from source code ](docs/installation.md#running-bgpalerter-from-the-source-code )
2020-01-18 19:05:10 +01:00
- [Run in Docker ](docs/installation.md#running-bgpalerter-in-docker )
2020-04-29 22:36:35 +02:00
- [Run as a Linux service ](docs/linux-service.md )
2020-07-29 19:49:48 +02:00
- [Command line options ](docs/installation.md#bgpalerter-parameters )
2019-10-05 19:18:11 +02:00
- [Monitored prefixes list ](docs/prefixes.md#prefixes )
- [Generate prefix list ](docs/prefixes.md#generate )
- [Prefix attributes description ](docs/prefixes.md#prefixes-fields )
- [Configuration ](docs/configuration.md )
2019-11-27 15:39:21 +01:00
- [Composition ](docs/configuration.md#composition )
2020-07-18 18:43:30 +02:00
- [Monitor for ](docs/configuration.md#monitors )
- [Hijacks ](docs/configuration.md#monitorhijack )
2021-06-29 14:14:41 +02:00
- [Path neighbors (downstream/upstream peers) ](docs/path-neighbors.md )
2020-07-18 18:43:30 +02:00
- [Visibility loss ](docs/configuration.md#monitorvisibility )
- [RPKI invalid announcements ](docs/configuration.md#monitorrpki )
2021-06-29 14:14:41 +02:00
- [RPKI ROAs diffs, ROAs expirations, and TA malfunctions ](docs/configuration.md#monitorroas )
2020-07-18 18:43:30 +02:00
- [Announcements of more specifics ](docs/configuration.md#monitornewprefix )
- [Announcements of new prefixes ](docs/configuration.md#monitoras )
- [Path matching ](docs/configuration.md#monitorpath )
2021-05-21 21:30:33 +02:00
- [Send alerts to ](docs/reports.md#reports )
- [File ](docs/reports.md#reportfile )
- [E-mail ](docs/reports.md#reportemail )
- [Slack ](docs/reports.md#reportslack )
- [Kafka ](docs/reports.md#reportkafka )
- [Syslog ](docs/reports.md#reportsyslog )
- [Alerta dashboard ](docs/reports.md#reportalerta )
- [Webex ](docs/reports.md#reportwebex )
2021-06-29 15:41:48 +02:00
- [HTTP URL (push) ](docs/reports.md#reporthttp )
2021-05-21 21:30:33 +02:00
- [Telegram ](docs/reports.md#reporttelegram )
- [Mattermost ](docs/reports.md#mattermost )
2021-05-21 21:32:49 +02:00
- [Pushover ](docs/report-http.md#pushover )
- [Microsoft Teams ](docs/report-http.md#ms-teams )
2021-06-29 15:47:03 +02:00
- [REST API (pull) ](docs/reports.md#reportpullapi )
2020-07-29 19:49:48 +02:00
- [Test report configuration ](docs/installation.md#bgpalerter-parameters )
2020-01-18 19:05:56 +01:00
- [Process/Uptime monitoring ](docs/process-monitors.md )
2020-03-21 18:33:43 +01:00
- [Notification user groups ](docs/usergroups.md )
2020-12-11 04:32:28 +01:00
- [RPKI configuration ](docs/rpki.md )
2021-06-04 00:56:37 +02:00
- [Staging/testing ROAs ](docs/rpki.md#stagingtesting-roas )
2020-05-26 14:50:16 +02:00
- [HTTP/HTTPS proxy ](docs/http-proxy.md )
2020-06-10 23:08:08 +02:00
- [Update to latest version ](docs/update.md )
2019-10-05 19:18:11 +02:00
- [More information for developers ](docs/develop.md )
- [All npm commands ](docs/develop.md#all-npm-commands )
2020-12-13 21:08:01 +01:00
- [Reports/alerts templates ](docs/context.md )
- [Release process and Git flow ](docs/release-process.md )
2020-04-23 01:59:45 +02:00
- [BGPalerter for researchers ](docs/research.md )
2020-12-13 21:08:01 +01:00
2020-07-18 18:53:56 +02:00
If you are using BGPalerter, feel free to sign here: [Who is using BGPalerter ](docs/friends.md )