Skip to main content

A Prometheus file and http discovery for .......

Project description

Python application PyPI version

biqiq-discovery a Prometheus service discovery for F5 BigIQ management platform

Overview

biqiq-discovery is a Prometheus service discovery for F5 devices managed through BigIQ management platform.

Labels naming (since 0.2.0)

All labels are returned prefixed as __meta_bigip_

Configuration

Example:

bigiq:
  host: www.bigiq.io
  port: 443
  username: user
  password: password

Environment variables

  • BIGIQ_DISCOVERY_CONFIG - the path to the above config file, default is ./config.yml
  • BIGIQ_DISCOVERY_PROMETHEUS_SD_FILE_DIRECTORY - the output directory for the file discovery files used in your Prometheus configuration. Each adom will have its own file.
  • BIGIQ_DISCOVERY_LOG_LEVEL - the log level, default WARNING
  • BIGIQ_DISCOVERY_LOG_FILE - the log file, default stdout
  • BIGIQ_DISCOVERY_HOST - the ip to expose the exporter on, default 0.0.0.0 - only applicable if running in server mode
  • BIGIQ_DISCOVERY_PORT - the port to expose the exporter on, default 9694
  • BIGIQ_DISCOVERY_BASIC_AUTH_ENABLED - use basic auth if set to anything, default false
  • BIGIQ_DISCOVERY_BASIC_AUTH_USERNAME - the username
  • BIGIQ_DISCOVERY_BASIC_AUTH_PASSWORD - the password
  • BIGIQ_DISCOVERY_CACHE_TTL - the ttl in seconds to keep the result from Fortimanager in cache, default 60

Run

File service discovery

pip install temp-discovery
BIGIQ_DISCOVERY_CONFIG=config.yml
BIGIQ_DISCOVERY_PROMETHEUS_SD_FILE_DIRECTORY=/etc/prometheus/file_sd/fortigate
python -m bigiq_discovery

Http service discovery

pip install temp-discovery
BIGIQ_DISCOVERY_CONFIG=config.yml
BIGIQ_DISCOVERY_BASIC_AUTH_ENABLED=true
BIGIQ_DISCOVERY_BASIC_AUTH_USERNAME=foo
BIGIQ_DISCOVERY_BASIC_AUTH_PASSWORD=bar
BIGIQ_DISCOVERY_LOG_LEVEL=INFO
python -m temp_discovery --server

Test discovery by curl

curl -ufoo:bar localhost:9694/prometheus-sd-targets

Prometheus job configuration

Example using the discovery with blackbox exporter

- job_name: 'f5-cluster-ping'
  metrics_path: /probe
  params:
    module: [icmp]
  http_sd_configs:
    - url: http://localhost:9694/prometheus-sd-targets
      refresh_interval: 60s
      basic_auth:
        username: foo
        password: bar

  relabel_configs:
    - source_labels:
      - __meta_bigip_platform
      action: replace
      target_label: product
    - source_labels:
        - __meta_bigip_version
      action: replace
      target_label: version
    - source_labels:
        - __meta_bigip_clustered
      action: replace
      target_label: clustered
    - source_labels:
        - __meta_bigip_virtual
      action: replace
      target_label: virtual

    - source_labels: [ __address__ ]
      regex: '(.+):.*'
      target_label: __param_target
    - source_labels: [ __param_target ]
      target_label: instance
    - target_label: __address__
      replacement: 'localhost:9115'
    

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

bigiq-discovery-0.2.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

bigiq_discovery-0.2.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file bigiq-discovery-0.2.0.tar.gz.

File metadata

  • Download URL: bigiq-discovery-0.2.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for bigiq-discovery-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ce1bdcabd501e8f793829906d5ea1b09f0e3fb27ec50187a12b4758d07869470
MD5 b7a96f7a4deb71cb23b7b1c7540ef51b
BLAKE2b-256 1010a39e39e8c022c59a2c9a30b4863aa4f694151b8b50ccaccf4f1e45774799

See more details on using hashes here.

File details

Details for the file bigiq_discovery-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bigiq_discovery-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f0adf2606c9eb2ee0443e67c10801b9d80311dc51fee4cfc8cfa43314922429
MD5 7b62fbbd6e51e46068c41973516c27da
BLAKE2b-256 c1f7ad4e80201a4c86a334455151987b6a0af453853f5886d17cf5fa6d65dfd6

See more details on using hashes here.

Supported by

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