Skip to main content

OPNSense Prometheus exporter

Project description

pipeline status coverage report Version status PyPi Package

OPNSense Prometheus exporter

I've configures OPNSense with High Availability settings using 2 servers.

So I've 2 servers: MAIN and BACKUP, in normal situation MAIN server is expected to be active and the BACKUP server to be in hot_standby state.

The initial needs was to be able to make sure that BACKUP server is ready (hot standby) to get the main server role with the active state at any time.

Unfortunately I've not found a proper configuration to call OPNSense HTTP API over opnvpn on backup server using blackbox configuratoin. That why I've started to develop this exporter install on a server on the LAN to be able to resquest both OPNSense servers.

Metrics

This exporter gives following metrics, all metrics received following labels:

  • instance: by default this is set with the hostname where is running this exporter service
  • host: the host of the OPNSense

Enums

  • opnsense_main_ha_state: OPNSense HA state of the MAIN server
  • opnsense_backup_ha_state: OPNSense HA state of the BACKUP server

Gauges

  • opnsense_active_server_bytes_received: Active OPNSense server bytes received on WAN interface
  • opnsense_active_server_bytes_transmitted: Active OPNSense server bytes transmitted on WAN interface

Usage

Note: Most updated documentation from command line !

opnsense-exporter --help
usage: opnsense-exporter [-h] [--check-frequency-seconds FREQUENCY]
                         [--main-host MAIN] [--backup-host BACKUP]
                         [--opnsense-user USER]
                         [--opnsense-password PASSWORD]
                         [--prometheus-instance PROM_INSTANCE]

OPNSense prometheus exporter

optional arguments:
  -h, --help            show this help message and exit
  --check-frequency-seconds FREQUENCY, -c FREQUENCY
                        How often (in seconds) this server requests
                        OPNSense servers (default: 2)
  --main-host MAIN, -m MAIN
                        MAIN OPNsense server that should be in `active`
                        state in normal configuration.
  --backup-host BACKUP, -b BACKUP
                        BACKUP OPNsense server that should be
                        `hot_standby` state in normal configuration.
  --opnsense-user USER, -u USER
                        OPNsense user. Expect to be the same on MAIN and
                        BACKUP servers
  --opnsense-password PASSWORD, -p PASSWORD
                        OPNsense password. Expect to be the same on MAIN
                        and BACKUP servers
  --prometheus-instance PROM_INSTANCE
                        Exporter Instance name, default value computed
                        with hostname where the server is running. Use to

You can setup env through .env file or environment variables with defined as default values (so command line will get the precedent):

  • CHECK_FREQUENCY_SECONDS: default value for --check-frequency-seconds param
  • OPNSENSE_MAIN_HOST: default value for --main-host param
  • OPNSENSE_BACKUP_HOST: default value for --backup-host param
  • OPNSENSE_USERNAME: default value for --opnsense-user param
  • OPNSENSE_PASSWORD: default value for --opnsense-password param

Roadmap

  • allow to change the listening port (today it force using 8000)

Changelog

Version 0.1.0

Initial version

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

opnsense-prom-exporter-0.1.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

opnsense_prom_exporter-0.1.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file opnsense-prom-exporter-0.1.0.tar.gz.

File metadata

File hashes

Hashes for opnsense-prom-exporter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fcb7d8c0dbacebcc7adcc1488ee2cf261824b6ca7c777b7f1f3cfb31e8b22154
MD5 a956f7e8cf72d34be435e7d2f44a275d
BLAKE2b-256 c2b1c38804c17fab951b422d1c55e906019647476dcb50bdfa011fe3d1c3ea37

See more details on using hashes here.

File details

Details for the file opnsense_prom_exporter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for opnsense_prom_exporter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b91e562f58e17ea2b5409b69cd2074a2a61342f93ae767203f0daef2afe5e18
MD5 2cc30a98257db947a91c0326559e9ec0
BLAKE2b-256 657105d24a3ad4a422c82c2c76a50def886a9f043e347388f9dab5f978fe441d

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