Skip to main content

Netbox plugin to sync data between LibreNMS and Netbox.

Project description

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.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 durintg 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,
    }
}

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.1.1.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

netbox_librenms_plugin-0.1.1-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.1.1.tar.gz
Algorithm Hash digest
SHA256 809f5a7fe678bc7061b0d5f92b4b62390026e245ce0a54ce232ac69393c229a5
MD5 e3ec1c32bce8f6ff375ad26424640b31
BLAKE2b-256 db04d86e3ed26a848dd938a192e6d08d3b6bca9922b639d333becb9cad7c2b1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df4c92decc6e8aab1d44da276ae65d830cdf1a000ecced2e76c808890829ed85
MD5 cf5242a914f0e4adfe137b2645b9b23e
BLAKE2b-256 d02cb79952671fe0c8b5e5ce886eabfd5c221ee9abd6026a21f325bd57e9207d

See more details on using hashes here.

Supported by

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