Simple Prometheus exporter for Actual Budget.
It exposes the following metrics:
actual_budget_account_balance{account="Account Name",is_off_budget="false",budget="main"} 10000 # for each account
actual_budget_category_tranasction_count{category="Category Name",budget="main"} 1000 # for each category
actual_budget_uncategorized_transaction_count{budget="main"} 0
actual_budget_balance 1000000{budget="main"} # total balance
actual_budget_transaction_count{budget="main"} 1000
actual_budget_transfers_count{budget="main"} 100
You can use the following Grafana dashboard to visualize the metrics exposed by the Actual Budget Prometheus Exporter:
Actual Budget Grafana Dashboard
To import the dashboard, follow these steps:
- Open your Grafana instance.
- Go to the "Dashboards" section.
- Click on "Import".
- Enter the dashboard ID:
22789
. - Click "Load" and follow the instructions to complete the import.
services:
actual_server:
image: docker.io/actualbudget/actual-server:latest
ports:
- '5006:5006'
volumes:
- ./actual-data:/data
restart: unless-stopped
actual-budget-prometheus-exporter:
image: docker.io/sakowicz/actual-budget-prometheus-exporter:latest
restart: unless-stopped
ports:
- '3001:3001'
environment:
ACTUAL_SERVER_URL: http://actual_server:5006
ACTUAL_PASSWORD: your_actual_password
ACTUAL_BUDGET_ID_1: your_actual_budget_id # This is the ID from Settings → Show advanced settings → Sync ID
#ACTUAL_E2E_PASSWORD_1: # optional. required if you have E2E encryption
#ACTUAL_BUDGET_NAME_1: # optional. this is custom name, helpful if you have multiple budgets. Will be added to prometheus label
# If you want to track multiple budgets, you can add more environment variables
#ACTUAL_BUDGET_ID_2:
#ACTUAL_E2E_PASSWORD_2:
#ACTUAL_BUDGET_NAME_2: