Prometheus — prometheus
Ingests the Prometheus metrics you pick — each series becomes a metric event on every poll tick,
joinable with logs, deploys and alerts on the same key. You choose which metrics (by name, or by
a label they carry) and NavFlow does the rest: there is no PromQL to write. The numeric value is
stored as a number-typed value label, so triggers can aggregate it.
Supports discovery: given a url, it lists the server’s metrics and
labels for you to pick from.
Prerequisites: a reachable Prometheus server (its base URL, e.g. http://localhost:9090).
Set up
Agent
Ask a connected agent:
Use navflow to ingest the
pg_*metrics from the Prometheus atlocalhost:9090.
The agent calls discover_source (lists the metrics and labels, samples your picks, proposes the
config), test_source (one poll), then create_source. You name the metrics you want — it never
writes PromQL.
Configuration
| field | type | description |
|---|---|---|
url* | string | Prometheus base URL, e.g. http://localhost:9090 |
bearer_token | string · secret | optional Authorization: Bearer token (managed Prometheus / auth proxy) |
username | string | optional HTTP basic-auth username (e.g. a Grafana Cloud instance id) |
password | string · secret | optional HTTP basic-auth password / API token, paired with username |
default_key | string | entity key for series that carry no key label (default unknown) |
queries* | list | the metrics to ingest — generated from your picks (below) |
Each queries entry is a metric selector NavFlow builds from your picks — you don’t author these by
hand:
| field | type | description |
|---|---|---|
promql* | string | the metric selector; for a picked basket, a {__name__=~"…"} matcher built for you |
by_name | bool | basket mode — name each event by its own metric name (set on a generated basket) |
exclude | string | comma-separated substrings to drop by metric name (e.g. _bucket) |
The metric value is stored as a number-typed value label (proposed automatically), so a
trigger can max / avg / sum it — filter the view to one metric by
event_type, then aggregate value. Number labels are excluded from entity faceting.
Advanced — a computed series. A queries row can also be a single PromQL expression (a derived
rate, a histogram_quantile p99) with an explicit event_type and field — the escape hatch when
you want a computed metric rather than a raw one. The pick-metrics flow above covers raw ingestion
without touching PromQL.
Verify
Open the source: Recent events shows one event per series per poll; Fields shows the labels
(metric.service, …) and the numeric value. Watch a metric move in Explore by picking the
entity the series is keyed on.