Skip to main content

Netbox plugin to sync data between LibreNMS and Netbox.

Project description

NetBox LibreNMS Plugin

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.

Features

The plugin offers the following key features:

Interface Synchronization

Pull interface data fro Devices and Virtual Machines from LibreNMS into NetBox. The following interface attributes are synchronized:

  • Name
  • Description
  • Status (Enabled/Disabled)
  • Type (with custom mapping support)
  • Speed
  • MTU
  • MAC Address

Set custom mappings for interface types to ensure that the correct interface type is used when syncing from LibreNMS to NetBox. Speed and Type are Device only

Add device to LibreNMS from Netbox

  • Add device to LibreNMS from Netbox device page. Only SNMP v2c available.

Site & Location Synchronization

The plugin also supports synchronizing NetBox Sites with LibreNMS locations:

  • Compare NetBox sites to LibreNMS location data
  • Create LibreNMS locations to match NetBox sites
  • Update existing LibreNMS locations langitude and longitude values based on NetBox data
  • Sync device site to LibreNMS location

Screenshots/GIFs

Site & Location Sync

Site Location Sync

Sync devices and Interfaces

Add device and interfaces

Interface Type Mappings

Interfaces Type Mappings

Contributing

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.

Compatibility

NetBox Version Plugin Version
4.0 0.2.x

Installing

Netbox 4.0+ is required.

Standard Installation

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

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):

# plugin_requirements.txt
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,
    }
}

Apply Database Migrations

Apply database migrations with Netbox manage.py:

(venv) $ python manage.py migrate

Restart Netbox

Restart the Netbox service to apply changes:

sudo systemctl restart netbox

Uninstall

See the instructions for uninstalling plugins.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbox_librenms_plugin-0.2.6.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

netbox_librenms_plugin-0.2.6-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file netbox_librenms_plugin-0.2.6.tar.gz.

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.2.6.tar.gz
Algorithm Hash digest
SHA256 87e4888220464839f47fc7343895842ece5ce2fffd836856249b248e9cb5c69f
MD5 30ec1701e79f697b5eb16ab7e7779cb8
BLAKE2b-256 0dc4d07aa818d64a3ff9c8bb5b3318de11390f293fff705fda0d173d20b36d9b

See more details on using hashes here.

File details

Details for the file netbox_librenms_plugin-0.2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8a89425890d305c1a9f6ecf1613a3b93596138f6729c235ce1985af4182f76d7
MD5 e3b3b011dc5a5ce0f259bd6fd7ba25f1
BLAKE2b-256 1b56cf3c391dc845f5dba29981054501d0350cda1fe34791cd11d0e4b65353ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page