Skip to main content

A Netbox plugin to export targets for Prometheus HTTP service discovery

Project description

netbox-plugin-prometheus-http-sd

Demo

docker-compose up -d

docker exec netbox-plugin-prometheus-http-sd-netbox-1 /opt/netbox/netbox/manage.py load_initializer_data --path /etc/netbox/initializer-data

Login into Netbox (http://localhost:8080) and create Config Context named prometheus_role_map with the following JSON structure:

{
    "prometheus_exporters": {
        "default": [
            {
                "job": "node-exporter",
                "port": 9100
            }
        ],
        "etcd": [
            {
                "job": "node-exporter",
                "port": 9100
            },
            {
                "job": "etcd-exporter",
                "port": 2379
            }
        ],
        "postgresql": [
            {
                "job": "node-exporter",
                "port": 9100
            },
            {
                "job": "postgresql-exporter",
                "port": 9187
            }
        ],
        "vault": [
            {
                "job": "vault-exporter",
                "scheme": "https",
                "metrics_path": "/v1/sys/metrics",
                "params": {
                    "format": [
                        "prometheus"
                    ]
                },
                "port": 8200
            }
        ]
    }
}

Each role can have multiple jobs (one target per job is generated)

If role is not found, the default entry is used

Usage

The plugin exposes a single API endpoint (no web UI):

GET /api/plugins/prometheus-http-sd/targets/

Device or Virtual Machine is included only if all of the following are true:

  1. It has status active
  2. The custom field role is present and non‑empty

Metrics labels

Labels:

  • job – Prometheus job name defined in the mapping
  • __meta_netbox_name – object name
  • __meta_netbox_typedevice or vm
  • __meta_netbox_cf_<custom_field> – every custom field prefixed with __meta_netbox_cf_

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_plugin_prometheus_http_sd-0.3.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file netbox_plugin_prometheus_http_sd-0.3.0.tar.gz.

File metadata

File hashes

Hashes for netbox_plugin_prometheus_http_sd-0.3.0.tar.gz
Algorithm Hash digest
SHA256 5cb2ace5d1c5573cfdedcd65a0bdd8dd551d1ff3a92b5012db11053e65c95b48
MD5 41f1c476e37a19d15ff8c8203757ccac
BLAKE2b-256 4126324a8c6e608dfa17a388ac9c500942e24a02977f683d418232d2678c8bb9

See more details on using hashes here.

File details

Details for the file netbox_plugin_prometheus_http_sd-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_plugin_prometheus_http_sd-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2184b356ad1853a7b7ab7f91664010e452f1bc140881a7bc8eb2e6d74c4a3480
MD5 8e5b1b7fe1d14545a6ad603c945bef31
BLAKE2b-256 6ace7ceedcb5cc5d85ae61503967018cc09d6d149fb9945571bfa39a308c04e6

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