NetBox Librenms Plugin
This plugin provides a way to integrate data from Librenms into NetBox.
Features
Sync data between NetBox and Librenms.
Version 0.1.0 of the plugin offers the following key features:
Interface Synchronization
Pull interface data from LibreNMS into NetBox. The following interface attributes are synchronized:
- Interface Name
- Interface Description
- Interface Status (Enabled/Disabled)
- Interface Type (with custom mapping support)**
- Interface Speed
** Set custom mappings for interface types to ensure that the correct interface type is used when syncing from LibreNMS to NetBox.
Site to Location Synchronization
The plugin also supports synchronizing NetBox Sites with LibreNMS locations:
- Compare NetBox sites to LibreNMS location data
- Create or update LibreNMS locations to match NetBox sites
- Update existing LibreNMS locations langitude and longitude values based on NetBox data
Contributing
There's more to do! Coding is not my day job so bugs will exist and imporvements will be needed. So contributions are very welcome! I've got more ideas for new features and imporvements but please contribute if you can!
Compatibility
| NetBox Version | Plugin Version |
|---|---|
| 4.0 | 0.1.0 |
Installing
Netbox 4.0+ is required.
Standard Installation
Activate your virtual environment and install the plugin:
source /opt/netbox/venv/bin/activate
While this is still in development and not yet on pypi you can install with pip:
(venv) $ pip install git+https://github.com/bonzo81/netbox-librenms-plugin
Add to your local_requirements.txt to ensure it is automatically reinstalled durintg future upgrades.
# echo "git+https://github.com/bonzo81/netbox-librenms-plugin" >> /opt/netbox/netbox/local_requirements.txt
Docker
For adding to a NetBox Docker setup see how to create a custom Docker image. the general instructions for using netbox-docker with plugins.
Add the plugin to plugin_requirements.txt (netbox-docker):
git+https://github.com//netbox-librenms-plugin
Configuration
Enable the plugin in /opt/netbox/netbox/netbox/configuration.py,
or if you use netbox-docker, your /configuration/plugins.py file :
PLUGINS = [
'netbox-librenms-plugin'
]
PLUGINS_CONFIG = {
'netbox_librenms_plugin': {
'librenms_url': 'https://your-librenms-instance.com',
'api_token': 'your_librenms_api_token',
'cache_timeout': 300,
}
}
Credits
Based on the NetBox plugin tutorial and docs:
This package was created with Cookiecutter. Thanks to the netbox-community/cookiecutter-netbox-plugin for the project template.
Release files for netbox-librenms-plugin 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netbox_librenms_plugin-0.1.0.tar.gz | 22.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_librenms_plugin-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.7 kB
Release files / netbox_librenms_plugin-0.1.0.tar.gz
| Download URL | netbox_librenms_plugin-0.1.0.tar.gz |
|---|---|
| Size | 22.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0276223457886c24f7d8fdad4fc605f94d44239f79ed353589e890970a40a304
|
|
BLAKE2b-256 checksum How to use checksums |
2c875209dc574d25c1207cc2f0ee83a50be5a6324e63866da07551569cfd9164
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.6
|
Release files / netbox_librenms_plugin-0.1.0-py3-none-any.whl
| Download URL | netbox_librenms_plugin-0.1.0-py3-none-any.whl |
|---|---|
| Size | 27.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
01e83ef5a5e2969ba8c762aa0b0c0cf0bdac33156faab2d6114a2f6a31876dc8
|
|
BLAKE2b-256 checksum How to use checksums |
38b5ca152d308c64d1095dbb1f2bc095ad1869c6b54b2345b2d43dceb6b428aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.6
|