Skip to main content

Export stellar account balance in prometheus format

Project description

Overview

The Stellar Account Prometheus Exporter retrieves account(s) balance and exposes it in prometheus format.

Configuration

Configuration file path must be provided using the --config option.

The config file is yaml formatted file:

networks:
- name: pubnet                              # Human readable name
  horizon_url: https://horizon.example.com  # Horizon URL
  accounts:
  - account_id: ABC123XYZ     # Account ID
    account_name: Account one # Human readable description
  - account_id: DEF456ABC
    account_name: Account two
- name: testnet
  horizon_url: https://horizon-testnet.example.com
  accounts:
  - account_id: QWE789DEF
    account_name: Testnet test account

By default the exporter listens on port 9618. This can be changes using --port switch or "PORT" environment variable.

Exported data

For each account the following metrics are exported:

  • stellar_account_balance
  • stellar_account_available_balance
  • stellar_account_buying_liabilities
  • stellar_account_selling_liabilities
  • stellar_account_num_sponsored
  • stellar_account_num_sponsoring
  • stellar_account_scrape_success

Each metric has the following labels:

  • network - network name from the configuration file
  • account_id - account ID from the configuration file
  • account_name - account name, as per configuration file
  • asset_type - asset type

Installing from pypi

To download/test package in pypi you can use venv:

python3 -m venv venv
. venv/bin/activate

Install:

python3 -m pip install stellar_account_prometheus_exporter

Run:

./venv/bin/stellar-account-prometheus-exporter --config /path/to/config.yaml

Releasing new version

  • ensure you bumped version number in setup.py. PyPi does not allow version reuse
  • build new package:
python3 setup.py sdist bdist_wheel
  • push to testpypi:
python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
  • test by installing the package (see above). If all good release:
python3 -m twine upload dist/*

Docker and K8s version

This app is now dockerized. The new Dockerfile has been validated and can be used like this:

docker build --pull --no-cache -t <your tag>

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

Built Distribution

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