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.1.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.1.tar.gz.

File metadata

File hashes

Hashes for netbox_plugin_prometheus_http_sd-0.3.1.tar.gz
Algorithm Hash digest
SHA256 196dd56df4936e171e208d0067f6bf391f369ae5da0d44718f2e42ee4cee8a76
MD5 116017aefaafeb46dce15584a24d2da2
BLAKE2b-256 aa08b0a471c0faafdcddd5fa2604dc7d06907d14ba9e081c910a395e399b3fbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for netbox_plugin_prometheus_http_sd-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c4a88ee6da428be1f849fcb4e8c403c5e0476dafee741b850f05c3701f7ca1de
MD5 d2332b7e93d77736b0c820586a4259a3
BLAKE2b-256 64826fe41f8d2364620b00d7c41891eee5bfb0a664bddb1a9261fc134e586f2f

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