Releases: Vadims06/isiswatcher
v2.0.17 (12.01.2025) MPLS TE Link attributes
MPLS TE Link attributes are added for monitoring:
- Administrative Group (color, resource class)
- Maximum Link Bandwidth
- Maximum Reservable Link Bandwidth
- Unreserved Bandwidth
- Traffic Engineering Default Metric
Logs sample 3. TE
2024-12-29T13:20:50.398Z,
isis-watcher,1,temetric,0200.1001.0002,changed,0_17_19_20_21_22_26_29_30,1000000000,1000000000,1000000008_1000000016_1000000024_1000000032_1000000040_1000000048_1000000056,11223344,0200.1001.0003,2024-07-28T18:03:05Z,49.0001,01Jan2023_00h00m00s_7_hosts,10.1.23.3,10.1.23.2
* `2023-01-01T00:00:00Z` - event timestamp
* `demo-watcher` - name of watcher
* `1` - IS-IS level
* `temetric` - event name: `host`, `network`, `metric`, `temetric`
* `0200.1001.0002` - event object. Watcher detected an event related to `0200.1001.0002` host
* `changed` - event status: `down`, `up`, `changed`
* `0_17_19_20_21_22_26_29_30` - 0, 17, 19, 20, 21, 22, 26, 29, 30 admin groups
* `1000000000` - Maximum Link Bandwidth (Sub-TLV 9) bits per sec
* `1000000000` - Maximum Reservable Link Bandwidth (Sub-TLV 10) bits per sec
* `1000000008_1000000016_1000000024_1000000032_1000000040_1000000048_1000000056` - Unreserved Bandwidth (Sub-TLV 11) for priority 0,..7 bits per sec
* `11223344` - Traffic Engineering Default Metric (Sub-TLV 18)
* `0200.1001.0003` - event detected by this node.
* `01Jan2023_00h00m00s_7_hosts` - name of graph in Topolograph dashboard
* `49.0002` - area number
* `12345` - AS number
* `10.1.23.3` - Local IP address of detected node `0200.1001.0003` (available in 2.0.15)
* `10.1.23.2` - Remote IP address relative to the detected node `0200.1001.0003` (available in 2.0.16)
FRR configuration
interface eth1
ip address 20.168.23.1/24
ip router isis lab
ipv6 address 4ffe::192:168:23:2/127
ipv6 router isis lab
isis network point-to-point
link-params
admin-grp 0x647a0001
enable
metric 11223344
max-bw 1e+08
unrsv-bw 0 1.23e+06
unrsv-bw 5 1.23e+06
!
router isis lab
net 49.0002.0200.1001.0002.00
mpls-te on
mpls-te router-address 10.10.10.2
exit
IS-IS TE metric
Latest events about links with admin group 17 with unreserved bandwidth for priority of 0 less than 100Mbits
Full IS-IS TE log
v2.0.16 (27.12.2024)
v2.0.16
remote_ip_address
is added into log for all host events
v2.0.15 (27.12.2024)
v2.0.14
- Algorithm improvements in selection of edges: Narrow < Extended. L1 < L2
v2.0.15
local_ip_address
is added into log for all host events
v2.0.12 (17.11.2024)
Improvements
- BugFix. tracking OSPF/IS-IS protocols simultaneously. Issue Vadims06/ospfwatcher#14
v2.0.10 (30.10.2024)
Improvements
- Stability and accuracy of network change detection
- Logstash pipeline changed accordingly to new watcher output
- Documentation
- Tools (client.py)
- IS-IS logs includes device's hostname
v1.1
Multiple Watchers on a single host
Number of watchers is equal to the number of IS-IS areas and each Watcher is placed in individual network namespace. IS-IS LSDB sits in watcher's namespace and doesn't interact with other Watchers keeping it isolated.
v1.1
Includes a client for generating configurations for each Watcher for each IS-IS area. To generate individual settings - run the client with --action add_watcher
sudo docker run -it --rm --user $UID -v ./:/home/watcher/watcher/ -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro vadims06/isis-watcher:v1.1 python3 ./client.py --action add_watcher
The script will create:
- a folder under
watcher
folder with FRR configuration underrouter
folder - a containerlab configuration file with network settings
- an individual watcher log file in
watcher
folder.
v1.2 (12.05.2024)
XDP filter is added.
XDP IS-IS filter inspects all outgoing IS-IS advertisements. It checks if FRR instance advertises only locally connected network (assigned on GRE tunnel) and no more. If it advertises multiple networks, IS-IS LSP will be dropped. It prevents the network from populating by unexpected network prefixes.
If, for some reason, an extra network is advertised from Watcher, this announcement will be dropped.
This examples shows that 8.8.8.8
prefix was redistributed on Watcher and added into its announcement, but it was dropped by XDP and eventually didn't reach the network.
To check XDP logs, run
sudo cat /sys/kernel/debug/tracing/trace_pipe