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.

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 LibreNMS locations to match NetBox sites
  • Update existing LibreNMS locations langitude and longitude values based on NetBox data
  • Sync device site to LibreNMS location

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

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

Uploaded Source

Built Distribution

netbox_librenms_plugin-0.2.1-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.2.1.tar.gz
Algorithm Hash digest
SHA256 655ea870e8942170afea28b761885ea53251455415a18124b4c1d4d6f36d9021
MD5 e7667efea455dca2592beaac5f705057
BLAKE2b-256 9b1e1b0886933c9bc1aa6d82b6cefbb4741136d3b035a3743f64be85e6f90ce8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b8812e188ec2c46a2dfe3cdd19bc84c413dd55ab12e305e7aac0e2b918c27b77
MD5 4812aa37636bf89cf55494f5dbeb7cfc
BLAKE2b-256 70c39f982e7fa9bae2d3fc677603363171660b9865c39b1566ed8dab4f38eaed

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