Skip to main content

NetBox plugin for syncing interface data from LibreNMS.

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.0

Installing

Netbox 4.0+ is required.

Standard Installation

Activate your virtual environment and install the plugin:

source /opt/netbox/venv/bin/activate

While this is still in development and not yet on pypi you can install with pip:

(venv) $ pip install git+https://github.com/bonzo81/netbox-librenms-plugin

Add to your local_requirements.txt to ensure it is automatically reinstalled durintg future upgrades.

# echo "git+https://github.com/bonzo81/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):

git+https://github.com//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.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0276223457886c24f7d8fdad4fc605f94d44239f79ed353589e890970a40a304
MD5 d884be9c939904767ef7a70139990b6c
BLAKE2b-256 2c875209dc574d25c1207cc2f0ee83a50be5a6324e63866da07551569cfd9164

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for netbox_librenms_plugin-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01e83ef5a5e2969ba8c762aa0b0c0cf0bdac33156faab2d6114a2f6a31876dc8
MD5 76a06230fb8bb4ccdb9ddbe2e8890de6
BLAKE2b-256 38b5ca152d308c64d1095dbb1f2bc095ad1869c6b54b2345b2d43dceb6b428aa

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