This plugin provides the ability to sync selected data between Netbox and LibreNMS.
The plugin allows Netbox to remain the source of truth by allowing intentional syncing of data between NetBox and LibreNMS. The intention is to make it easier to maintain accurate data between the two systems.
This is in early development.
The plugin offers the following key features:
Pull interface data from LibreNMS into NetBox. The following interface attributes are synchronized:
** Set custom mappings for interface types to ensure that the correct interface type is used when syncing from LibreNMS to NetBox.
The plugin also supports synchronizing NetBox Sites with LibreNMS locations:
There's more to do! Coding is not my day job. 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!
Or just share your ideas for the plugin over in discussions.
NetBox Version | Plugin Version |
---|---|
4.0 | 0.2.x |
Netbox 4.0+ is required.
Activate your virtual environment and install the plugin:
source /opt/netbox/venv/bin/activate
Install with pip:
(venv) $ pip install netbox-librenms-plugin
Add to your local_requirements.txt
to ensure it is automatically reinstalled during future upgrades.
"netbox-librenms-plugin" >> /opt/netbox/netbox/local_requirements.txt
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):
# plugin_requirements.txt
netbox-librenms-plugin
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,
}
}
Apply database migrations with Netbox manage.py
:
(venv) $ python manage.py migrate
Restart the Netbox service to apply changes:
sudo systemctl restart netbox
See the instructions for uninstalling plugins.
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.