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

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f65a8b491c84d9d0e62993a0b09fcf2d8b6f6864eda034b9d43ecb6020a71f2a
MD5 6e789d205f8c84b7dd90f08260204346
BLAKE2b-256 5c64caf12e10afc8e92928e5ec99945f4fd20bbce371503a715b047be45daa17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a815f6d4999278c101397e161916e8e0a02a0507f3d5a67a727d6118dc72bc8
MD5 8a992e34127a2c97a602e3319236a18c
BLAKE2b-256 e42d274996749d3a65f8747f2465d029ba8c9dee1696786da14aafaf9972cafc

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 Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page