New Features
-
Added
monocle watch: stream live BGP messages from RIPE RIS Live with the
same filter semantics asmonocle parse:monocle watch --origin-asn 400644 monocle watch --host rrc00 --prefix 45.57.60.0/24 -S --record incident.mrt.bz2 monocle watch --origin-asn 13335 --json | jq -c 'select(.prefix|contains("2400:cb00"))'
Host, prefixes, peer IPs, and elem type are pushed down to the RIS Live
subscription to reduce traffic; origin ASN, peer ASN, community, and
AS-path predicates always run client-side with parser semantics (the RIS
pathpattern cannot express AS_SET origins, and every element predicate
is re-checked locally because RIS selects whole UPDATE messages).
Multi-value prefixes and peer IPs expand to one subscription per
combination. Any filter is accepted; a completely unfiltered invocation
requires--firehoseto drink the full stream (~5k msgs/s measured);
server-side scope (--host/--prefix/--peer-ip) is recommended to cut
bandwidth.--record PATHwrites the filtered stream to an MRT updates
file (BGP4MP) for offline replay withmonocle parse. Reconnects with
backoff on abnormal disconnects; live vantage is RIS collectors only, not
global visibility.
(#154)
Bug Fixes
- Fixed the Docker image entrypoint, which hard-coded
monocle serverand made
the documenteddocker run bgpkit/monocle <command>usage fail. The
entrypoint is nowmonoclewithserveras the default command, so a bare
docker runstill starts the server while other subcommands run directly,
e.g.docker run --rm bgpkit/monocle:latest watch --host rrc00.
(#155)