Skip to main content

netbox-opentelemetry-plugin

netbox-opentelemetry-plugin exports NetBox telemetry (logs, audit records, traces and metrics) over OTLP to an OpenTelemetry Collector, directly from inside the NetBox processes (web workers, RQ workers, RQ work-horses). Each signal is an independent module, switched on or off in configuration.

Signals

Signal Default Description
Logs on NetBox's Python logs, exported through the OTel Logs API.
Audit records on One structured record per ObjectChange (create, update, delete).
Traces off Spans for Django requests, PostgreSQL, Redis, outbound HTTP and RQ jobs.
Metrics off HTTP and job metrics, change counters, optional process runtime metrics.

Compatibility

Plugin NetBox Python
0.1.x 4.7.0 to 4.7.x 3.12, 3.13, 3.14

min_version = "4.7.0" and max_version = "4.7.99" in the plugin's PluginConfig enforce this NetBox range; NetBox refuses to load the plugin outside it.

Dependencies

Installing the package pulls in these OpenTelemetry packages, no others:

  • opentelemetry-api ~= 1.44.0
  • opentelemetry-sdk ~= 1.44.0
  • opentelemetry-exporter-otlp-proto-http ~= 1.44.0
  • opentelemetry-exporter-otlp-proto-grpc ~= 1.44.0
  • opentelemetry-instrumentation-django == 0.65b0
  • opentelemetry-instrumentation-psycopg == 0.65b0
  • opentelemetry-instrumentation-redis == 0.65b0
  • opentelemetry-instrumentation-requests == 0.65b0
  • opentelemetry-instrumentation-system-metrics == 0.65b0

No NetBox model, no database migration and no UI of its own.

Quick start

Install the package into the NetBox virtual environment:

source /opt/netbox/venv/bin/activate
pip install netbox-opentelemetry-plugin

netbox-docker's venv has no pip, only uv: use uv pip install netbox-opentelemetry-plugin in a custom image built on top of the upstream one. See the installation page for netbox-docker, the Helm chart, and bare metal gunicorn and uWSGI.

Enable the plugin in configuration.py:

PLUGINS = ["netbox_opentelemetry_plugin"]
PLUGINS_CONFIG = {
    "netbox_opentelemetry_plugin": {
        "exporter": {"endpoint": "http://otel-collector:4318"},
    },
}

Turn on traces and metrics too:

PLUGINS_CONFIG = {
    "netbox_opentelemetry_plugin": {
        "exporter": {"endpoint": "http://otel-collector:4318"},
        "traces": {"enabled": True},
        "metrics": {"enabled": True},
    },
}

Restart the NetBox web processes and the RQ workers to pick up the change.

Documentation

Licence

Apache 2.0. See the LICENSE file.

Metadata

Release files for netbox-opentelemetry-plugin 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-opentelemetry-plugin 0.2.0
File Size Uploaded
netbox_opentelemetry_plugin-0.2.0.tar.gz 43.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-opentelemetry-plugin 0.2.0
File Interpreter ABI Platform
netbox_opentelemetry_plugin-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 93.0 kB

Release files / netbox_opentelemetry_plugin-0.2.0.tar.gz

Download URL netbox_opentelemetry_plugin-0.2.0.tar.gz
Size 43.5 kB
Tags Source
SHA-256 checksum
How to use checksums
55ce5ecc52ae2c30c3a6bb3410a1c0d2d02601e67bced40301a7cf720afc8ac1
BLAKE2b-256 checksum
How to use checksums
5a9ad7a18537f7352502a5a90c0d850c75ad304aedd1151886f38471ebee025b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / netbox_opentelemetry_plugin-0.2.0-py3-none-any.whl

Download URL netbox_opentelemetry_plugin-0.2.0-py3-none-any.whl
Size 49.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02f08c3be8e564e55d1e6d3ee525033a2e69a15321f1d6902f9c15aef8819081
BLAKE2b-256 checksum
How to use checksums
43e75485a4cfd452eb0b12b134c303b9905a9fc29aa1a06794b032c9c556a062
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page