Skip to content

Query Interfaces

Icelake supports multiple query interfaces for different use cases.

New here? The Quickstart walks through the full Icelake + Grafana setup end to end in 5 minutes.

Connect Grafana to Icelake’s Prometheus-compatible query API:

  1. Add a new Prometheus data source in Grafana
  2. Set the URL to https://api.icelake.eu/prom
  3. Enable Basic auth — user = your client ID, password = your API key (ilk_…)

Supports PromQL for metric queries with full label matching.

Connect Grafana to Icelake’s Loki-compatible query API:

  1. Add a new Loki data source in Grafana
  2. Set the URL to https://api.icelake.eu/loki
  3. Enable Basic auth — user = your client ID, password = your API key (ilk_…)

Supports LogQL for log queries with label filtering, line filtering, and aggregations.

Connect any PostgreSQL client to Icelake’s SQL interface. Auth is cleartext password over the postgres wire protocol — username is your client ID, password is your API key (ilk_…):

Terminal window
psql "postgresql://your-client-id:ilk_your-api-key-here@sql.icelake.eu:5432/icelake?sslmode=require"

Query your data with standard SQL powered by DuckDB. Supports:

  • SELECT queries across metrics, logs, and custom datasets
  • Time-based filtering with WHERE timestamp > NOW() - INTERVAL '1 hour'
  • Aggregations, joins, and window functions
  • EXPLAIN for query planning

For a guided notebook flow with JupySQL, pandas, and matplotlib, see Jupyter Notebooks.

Execute SQL queries via HTTP:

Terminal window
curl -X POST https://api.icelake.eu/api/v1/sql \
-u "your-client-id:ilk_your-api-key-here" \
-H "Content-Type: application/json" \
-d '{"query": "SELECT * FROM metrics LIMIT 10"}'

Query logs programmatically via the Loki-compatible HTTP API:

Terminal window
curl "https://api.icelake.eu/loki/api/v1/query_range" \
-u "your-client-id:ilk_your-api-key-here" \
--data-urlencode 'query={job="myapp"}' \
--data-urlencode 'start=2026-03-13T00:00:00Z' \
--data-urlencode 'end=2026-03-13T23:59:59Z'
  • Quickstart — end-to-end Icelake + Grafana setup in 5 minutes
  • Jupyter Notebooks — VS Code + JupySQL + matplotlib against pgwire
  • Prometheus — the ingest side of the Prometheus query API
  • Loki & LogQL — the ingest side of the Loki query API