NetBox plugin to display PRTG monitoring status on device pages
Project description
NetBox PRTG Plugin
A NetBox plugin that displays PRTG Network Monitor status on Device and Virtual Machine detail pages.
Features
- Device Tab: Shows PRTG monitoring summary on device detail pages
- Virtual Machine Tab: Shows PRTG monitoring summary on VM detail pages
- Sensor Summary: Displays sensor counts by status (Up, Warning, Down, Paused)
- Direct Links: Quick link to view the device in PRTG
- Caching: Configurable caching to minimize API calls
- Custom Field: Optional
prtg_device_idfield for explicit device mapping
Screenshots
Device Tab
Shows sensor status summary with color-coded badges for quick status overview.
Settings Page
Displays current configuration and connection status.
Requirements
- NetBox 4.0.0 or higher
- PRTG Network Monitor with API access
- PRTG API Token
Installation
Via pip (recommended)
pip install netbox-prtg
From source
git clone https://github.com/sieteunoseis/netbox-prtg.git
cd netbox-prtg
pip install .
Configuration
- Add the plugin to your NetBox
configuration.py:
PLUGINS = [
'netbox_prtg',
]
PLUGINS_CONFIG = {
'netbox_prtg': {
'prtg_url': 'https://prtg.example.com',
'prtg_api_token': 'your-api-token-here',
'timeout': 30,
'cache_timeout': 60,
'verify_ssl': True,
}
}
- Restart NetBox to load the plugin.
Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
prtg_url |
string | "" |
PRTG server URL (e.g., https://prtg.example.com) |
prtg_api_token |
string | "" |
API token from PRTG account settings |
timeout |
int | 30 |
API request timeout in seconds |
cache_timeout |
int | 60 |
How long to cache API responses in seconds |
verify_ssl |
bool | True |
Verify SSL certificates |
Getting a PRTG API Token
- Log into your PRTG web interface
- Go to Setup > Account Settings > My Account
- Under API Keys, click Create API Key
- Copy the token and add it to your NetBox configuration
Usage
Device Matching
The plugin matches NetBox devices to PRTG devices by hostname. The device name in NetBox must match the device name in PRTG.
For explicit mapping, you can set the prtg_device_id custom field on a device with the PRTG object ID.
Viewing Monitoring Status
- Navigate to any device or virtual machine detail page
- Click the PRTG tab
- View the sensor status summary
Status Indicators
| Status | Color | Description |
|---|---|---|
| Up | Green | Sensor is healthy |
| Warning | Orange | Sensor has warnings |
| Down | Red | Sensor is down/critical |
| Paused | Gray | Sensor is paused |
| Unusual | Amber | Sensor has unusual readings |
Development
Setup
cd ~/development
git clone https://github.com/sieteunoseis/netbox-prtg.git
cd netbox-prtg
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Running Lint Checks
black netbox_prtg/
isort netbox_prtg/
flake8 netbox_prtg/
Testing with NetBox Dev Instance
- Add to
netbox-dev/configuration/plugins.py - Mount in
netbox-dev/docker-compose.yml - Restart:
docker-compose restart netbox
API Endpoints Used
The plugin uses the following PRTG API endpoints:
GET /api/status.json- Test connectionGET /api/table.json?content=devices- Find devices by hostnameGET /api/table.json?content=sensors- Get device sensors
Future Enhancements
- Detailed sensor list view
- Export devices from NetBox to PRTG
- Sensor alerts history
- Bulk device status view
- Conditional tab visibility
License
Apache License 2.0
Author
- sieteunoseis - GitHub
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_prtg-0.1.0.tar.gz.
File metadata
- Download URL: netbox_prtg-0.1.0.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64bfae0639e95c6138abf5f5d712bf4d74f1a959cc401ce3c347d6b77a9eb6de
|
|
| MD5 |
95578b37ad985555aa4e7ae22cfc7205
|
|
| BLAKE2b-256 |
34def236a39516666344b8163ff9e8ad050c2193751c5b2e62a3b900c141fb23
|
Provenance
The following attestation bundles were made for netbox_prtg-0.1.0.tar.gz:
Publisher:
release.yml on sieteunoseis/netbox-prtg
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_prtg-0.1.0.tar.gz -
Subject digest:
64bfae0639e95c6138abf5f5d712bf4d74f1a959cc401ce3c347d6b77a9eb6de - Sigstore transparency entry: 858995379
- Sigstore integration time:
-
Permalink:
sieteunoseis/netbox-prtg@eb12386ad09240c182ea9a51eb2229283547e798 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/sieteunoseis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@eb12386ad09240c182ea9a51eb2229283547e798 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_prtg-0.1.0-py3-none-any.whl.
File metadata
- Download URL: netbox_prtg-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cc84ada790f197f482539d4eabcb5590fd608fc4be34a6bb70084040c1f124f
|
|
| MD5 |
98cba51a5e32970b6c81d0088d594878
|
|
| BLAKE2b-256 |
390145310897811a06c02ce239e3e703be43f30eb14c6d693911191adfc60650
|
Provenance
The following attestation bundles were made for netbox_prtg-0.1.0-py3-none-any.whl:
Publisher:
release.yml on sieteunoseis/netbox-prtg
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_prtg-0.1.0-py3-none-any.whl -
Subject digest:
6cc84ada790f197f482539d4eabcb5590fd608fc4be34a6bb70084040c1f124f - Sigstore transparency entry: 858995415
- Sigstore integration time:
-
Permalink:
sieteunoseis/netbox-prtg@eb12386ad09240c182ea9a51eb2229283547e798 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/sieteunoseis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@eb12386ad09240c182ea9a51eb2229283547e798 -
Trigger Event:
push
-
Statement type: