Skip to main content

A NetBox plugin for pinging and discovering IPs

Project description

NetBox Ping Plugin

Python NetBox License

A NetBox plugin for pinging and discovering IPs in your network.

Features

  • Ping IPs and subnets directly from NetBox
  • Auto-discover new IPs
  • Track IP status with custom fields and tags
  • Bulk scan operations
  • Dark mode compatible UI

Installation

pip install netbox-ping

Configuration

Add to your configuration.py:

PLUGINS = ['netbox_ping']

PLUGINS_CONFIG = {
    'netbox_ping': {
        'coming_soon': True
    }
}

Usage

  1. Install the plugin
  2. Navigate to Plugins > NetBox Ping
  3. Click "Create Required Fields & Tags"
  4. Start scanning your networks!

Requirements

  • NetBox 4.0 or later
  • Python 3.8 or later
  • ping command available on the system

Installation

Package Installation

  1. Install the package from your NetBox installation path:
    source /opt/netbox/venv/bin/activate
    cd /opt/netbox
    pip install git+https://github.com/DenDanskeMine/netbox-prefix-pinger.git
    

Enable the Plugin

  1. Add the plugin to PLUGINS in /opt/netbox/netbox/netbox/configuration.py:
    PLUGINS = [
        'netbox_ping',
    ]
    

Run Migrations

  1. Apply database migrations:
    cd /opt/netbox
    python3 manage.py migrate
    

Collect Static Files

  1. Collect static files:
    python3 manage.py collectstatic
    

Restart NetBox

  1. Restart the NetBox service:
    sudo systemctl restart netbox
    

Usage

  1. Navigate to the "Plugins" menu in NetBox
  2. Select "Network Tools" from the dropdown
  3. You'll see a list of all prefixes in your NetBox instance
  4. Two actions are available for each prefix:
    • Check Status: Checks all existing IPs in the prefix
    • Scan Subnet: Discovers and adds new active IPs

Status Indicators

  • 🟢 Online Tag: IP is responding to ping
  • 🔴 Offline Tag: IP is not responding
  • Custom Field "Up_Down": Boolean indicator of IP status

Configuration

No additional configuration is required. The plugin will automatically:

  • Create required custom fields
  • Create online/offline tags
  • Set up necessary permissions

Permissions

Users need the following permissions to use the plugin:

  • ipam.view_prefix
  • ipam.view_ipaddress

Development

To set up a development environment:

  1. Clone the repository:

    git clone https://github.com/yourusername/netbox-ping.git
    cd netbox-ping
    
  2. Create a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
    
  3. Install development dependencies:

    pip install -e .
    

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you have any questions or need help, please:

  1. Open an issue on GitHub
  2. Check existing issues for answers
  3. Contact the maintainer

Acknowledgments

  • Built for NetBox (https://github.com/netbox-community/netbox)
  • Inspired by the need for simple IP status tracking, this is my first plugin for NetBox.
  • I'm not a good python developer, so this is probably not the best way to do this.
  • The plugin netbox-interface-synchronization gave me a lot of inspiration, code wise, as the offical NetBox development repo had some issues, i couldn't get around.
  • The plugin netbox-interface-synchronization is a great plugin, and i recommend using it if you need to synchronize interfaces.

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_ping-0.54.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

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

netbox_ping-0.54-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

Details for the file netbox_ping-0.54.tar.gz.

File metadata

  • Download URL: netbox_ping-0.54.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for netbox_ping-0.54.tar.gz
Algorithm Hash digest
SHA256 352ccc39f97a7095a1f2f74f8761cfed77cd18abca2d52c88df6dbbc7fa3cb4e
MD5 518d8a10dc149f6195ff0948f28f3983
BLAKE2b-256 b23991a0eb7d3fd39e99c772998a438d18a10f85668d1928b4fa3d223723159a

See more details on using hashes here.

File details

Details for the file netbox_ping-0.54-py3-none-any.whl.

File metadata

  • Download URL: netbox_ping-0.54-py3-none-any.whl
  • Upload date:
  • Size: 31.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for netbox_ping-0.54-py3-none-any.whl
Algorithm Hash digest
SHA256 fa7cd9f8d8d6be3ca24159daf3a7ad3052a86ba5e304554752d464c81b54041a
MD5 3f54e7cf583b345deccb76b5c9cde11b
BLAKE2b-256 1dda05fc6f06573f3441f316f5085cc62ac0d641015b4dbdd7360d4e4f0d456a

See more details on using hashes here.

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