Still no IS-IS topology monitor?
Or is it a way?
We’re running Segment Routing now over IS-IS so it would be nice to get a Topology from the IS-IS.
Running this on cisco ncs5501, asr920, ncs540 hardware.
I started making a very basic implementation which can show ISIS-enabled adjacencies and their status. This is still a work in progress but might prove useful.
librenms:master
← ottorei:generic-isis
opened 12:56AM - 25 Jan 21 UTC
Adds a very basic ISIS-protocol support with the functionality to poll configure… d adjacencies. This information may be used to trigger alarms when the device loses any of the configured adjacencies. Also adds a simple table for device and routing contexts that can be used to view the general status of the topology. Also, links are created on the UI where possible - requires that the device's ifIndexes are saved into the DB.
Each polled adjacency is saved into the DB during the first time it is seen. When polled again, the old record is matched and updated by local ifIndex + device_id as a unique identifier. If the port has ISIS configuration but there has never been any adjacents, this saves only the ifIndex and marks it's status as down.
==> Tested with Juniper MX-80, MX-240 and Cisco ASR9K-series routers. Seems to poll all configured adjacencies
- [x] Basic polling support (== Adjacencies and their status can be polled to some extent)
- [x] Adjacencies can be saved into the DB
- [x] Basic tables in device and routing menus
- [x] Module can be enabled from polling options
- [x] Translations for settings
- [x] Alert fault listing (functions.inc.php) by adjacency IP - could also generate links if the adjacency is found in NMS
- [x] Routing menubar link
- [x] Add alert template for adjacency status check
- [x] Device menubar link
- [x] Cleanup options from poller module (missing as in extra entries that exist in the DB but do not exist on the poll. These entries should be purged from the DB)
- [x] Code style fixes
- [x] Generate links on routing page pages where possible (point interfaces and / or IPs to the devices in question if they exists on the NMS)
- [x] Remove entries from the DB when the device is deleted
- [x] Data formatting
- [x] Database schema and migrations
- [x] Convert pollert module to new style
- [x] Test cases
#### Testing on your instance:
This patch can be tested with :
`./scripts/github-apply 12461 `
#### Screenshots
Menu entry on main page:
![isis_routing_menu](https://user-images.githubusercontent.com/7031571/105777539-37625100-5f73-11eb-9d8d-5a624abba023.PNG)
Routing menu from main page:
![isis_routing_view](https://user-images.githubusercontent.com/7031571/105777536-36312400-5f73-11eb-869b-c20aa664ddb4.png)
Routing entries on device page:
![isis_device_page](https://user-images.githubusercontent.com/7031571/105777540-37625100-5f73-11eb-8bbe-4f15ee321d2a.png)
DO NOT DELETE THE UNDERLYING TEXT
#### Please note
> Please read this information carefully. You can run `./lnms dev:check` to check your code before submitting.
- [x] Have you followed our [code guidelines?](https://docs.librenms.org/Developing/Code-Guidelines/)
- [x] If my Pull Request does some changes/fixes/enhancements in the WebUI, I have inserted a screenshot of it.
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 12461 `
After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert.
2 Likes
Enabled today. Great work ottorei
Hi all,
May i know how to make the librenms can monitor ISIS? I’m already enable on GUI but still not appear in the menu.
Thanks and appreciate any feedback
Hi all,
I’m already enable using below step but still not apper in the Menu tab routing “ISIS”. Appreciate any feedback how to check the issue. Also i’m already reboot the server and result still same.
Global Setting → Discovery Module
Global Setting → Poller Module
Thanks