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.0opentelemetry-sdk~= 1.44.0opentelemetry-exporter-otlp-proto-http~= 1.44.0opentelemetry-exporter-otlp-proto-grpc~= 1.44.0opentelemetry-instrumentation-django== 0.65b0opentelemetry-instrumentation-psycopg== 0.65b0opentelemetry-instrumentation-redis== 0.65b0opentelemetry-instrumentation-requests== 0.65b0opentelemetry-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
- Full documentation
- Installation
- Configuration reference
- Logs, audit records, traces, metrics
- How it works
- Data safety
- Failure behaviour
- Collector on Kubernetes
- Limitations
- Changelog
Licence
Apache 2.0. See the LICENSE file.
Metadata
Release files for netbox-opentelemetry-plugin 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| netbox_opentelemetry_plugin-0.2.2.tar.gz | 45.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| netbox_opentelemetry_plugin-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.0 kB
Release files / netbox_opentelemetry_plugin-0.2.2.tar.gz
| Download URL | netbox_opentelemetry_plugin-0.2.2.tar.gz |
|---|---|
| Size | 45.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b9962526bbcf0f0fd9978a20f6c27a1e02a041beffb7f6d1836a79dce307d4f
|
|
BLAKE2b-256 checksum How to use checksums |
3d67e27aead58bace9fcb0277b6e3cebfe5a071871df29c06da148bdb102dbd2
|
| 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 29, 2026.
Transparency logRelease files / netbox_opentelemetry_plugin-0.2.2-py3-none-any.whl
| Download URL | netbox_opentelemetry_plugin-0.2.2-py3-none-any.whl |
|---|---|
| Size | 51.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8682d123720d2534342d9573105348541de88797750d67792a269fc0e610cef5
|
|
BLAKE2b-256 checksum How to use checksums |
1c0a090f467b6a693fbb0cf07600cf4d15dc0fc7fcee18ebc4428fb5a84bbf76
|
| 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 29, 2026.
Transparency log