Skip to main content

NetBox plugin to display PRTG monitoring status on device pages

Project description

NetBox PRTG Plugin

PyPI version Python versions License

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_id field 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

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

  1. Log into your PRTG web interface
  2. Go to Setup > Account Settings > My Account
  3. Under API Keys, click Create API Key
  4. 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

  1. Navigate to any device or virtual machine detail page
  2. Click the PRTG tab
  3. 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

  1. Add to netbox-dev/configuration/plugins.py
  2. Mount in netbox-dev/docker-compose.yml
  3. Restart: docker-compose restart netbox

API Endpoints Used

The plugin uses the following PRTG API endpoints:

  • GET /api/status.json - Test connection
  • GET /api/table.json?content=devices - Find devices by hostname
  • GET /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

Links

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_prtg-0.1.0.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_prtg-0.1.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

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

Hashes for netbox_prtg-0.1.0.tar.gz
Algorithm Hash digest
SHA256 64bfae0639e95c6138abf5f5d712bf4d74f1a959cc401ce3c347d6b77a9eb6de
MD5 95578b37ad985555aa4e7ae22cfc7205
BLAKE2b-256 34def236a39516666344b8163ff9e8ad050c2193751c5b2e62a3b900c141fb23

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_prtg-0.1.0.tar.gz:

Publisher: release.yml on sieteunoseis/netbox-prtg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for netbox_prtg-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6cc84ada790f197f482539d4eabcb5590fd608fc4be34a6bb70084040c1f124f
MD5 98cba51a5e32970b6c81d0088d594878
BLAKE2b-256 390145310897811a06c02ce239e3e703be43f30eb14c6d693911191adfc60650

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_prtg-0.1.0-py3-none-any.whl:

Publisher: release.yml on sieteunoseis/netbox-prtg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page