Starburst Galaxy
Ship Starburst Galaxy cluster metrics to Parseable using Prometheus remote write for long-term retention and SQL-based analysis.
Starburst Galaxy is a managed query engine (SaaS) built on Trino that lets you query data across multiple sources like S3, Snowflake, PostgreSQL, and BigQuery without moving data. Galaxy exposes cluster health metrics such as query throughput, memory, CPU, active workers, and queued queries in OpenMetrics/Prometheus format.
This guide shows how to ship those metrics to Parseable using Prometheus remote write.
Architecture
Starburst Galaxy Prometheus Parseable
/v1/metrics ──────► scrape + remote ──────► /v1/prometheus/write
(OpenMetrics) write (starburst-metrics stream)Prerequisites
- Starburst Galaxy account with a running cluster
- Prometheus running (Docker example below)
- Parseable instance with ingestor endpoint accessible
Step 1 - Create a dedicated role in Galaxy
- Galaxy UI → Access → Roles and privileges
- Click Add role → name it
metrics-scraper→ click Add role - Click
metrics-scraper→ Privileges tab → Add privilege - Click Cluster tab → select your cluster → check Monitor cluster → Save privileges
Step 2 - Create a service account
- Galaxy UI → Access → Service accounts
- Click Create new service account → name it
metrics-scraper - Set Default role to
metrics-scraper - Check Generate password → click Create
- Copy and save the generated password. It is shown only once.
The full username format is: metrics-scraper@<your-account>.galaxy.starburst.io
Step 3 - Get your cluster URL
- Galaxy UI → Partner connect → click Trino Python tile
- Select your cluster from the dropdown
- Copy the Host value (e.g.
my-cluster.trino.galaxy.starburst.io)
Step 4 - Configure Prometheus
Create prometheus.yml:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'starburst-galaxy'
metrics_path: /v1/metrics
scheme: https
basic_auth:
username: 'metrics-scraper@<your-account>.galaxy.starburst.io'
password: '<service-account-password>'
static_configs:
- targets: ['<cluster-host>']
labels:
cluster: 'starburst-galaxy'
remote_write:
- url: "http://<parseable-ingestor>:8000/v1/prometheus/write"
basic_auth:
username: <parseable-username>
password: <parseable-password>
headers:
X-P-Stream: starburst-metrics
X-P-Log-Source: otel-metricsStep 5 - Run Prometheus
# docker-compose.yml
services:
prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--enable-feature=remote-write-receiver'
restart: unless-stoppeddocker-compose up -dVerify the scrape target is healthy: open http://localhost:9090/targets. starburst-galaxy should show UP.
Step 6 - Verify data in Parseable
Run this query in Parseable against the starburst-metrics stream:
SELECT
COUNT(*) AS count,
"metric_name",
"metric_description",
"metric_type"
FROM "starburst-metrics"
WHERE "metric_type" IN ('sum', 'gauge', 'summary', 'histogram', 'exponential_histogram')
GROUP BY "metric_name", "metric_description", "metric_type"
ORDER BY count DESC, "metric_name"You should see hundreds of JVM, query, and cluster metrics from your Galaxy cluster.

Notes
- Galaxy clusters auto-suspend when idle on the free tier. Metrics are only available when the cluster status is Running. Resume the cluster and run a query to wake it before scraping.
- Each cluster requires a separate scrape job in
prometheus.yml. Add additionalscrape_configsentries for multiple clusters using the same service account (grantMonitor clusterprivilege for each cluster). - Parseable automatically creates the
starburst-metricsstream on first ingest. No manual setup is needed.
Was this page helpful?