https://github.com/stellar/stellar-account-prometheus-exporter
Stellar Account Prometheus Exporter - Monitor Stellar Network Accounts
https://github.com/stellar/stellar-account-prometheus-exporter
Last synced: about 1 year ago
JSON representation
Stellar Account Prometheus Exporter - Monitor Stellar Network Accounts
- Host: GitHub
- URL: https://github.com/stellar/stellar-account-prometheus-exporter
- Owner: stellar
- License: apache-2.0
- Created: 2019-07-21T21:44:32.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-22T05:22:59.000Z (almost 2 years ago)
- Last Synced: 2025-03-22T18:41:27.905Z (over 1 year ago)
- Language: Python
- Homepage:
- Size: 59.6 KB
- Stars: 3
- Watchers: 10
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```