Parseable

Prometheus

Learn about Prometheus in Parseable, including core concepts, configuration steps, and practical guidance for building an effective observability workflow.


Prometheus is commonly used to collect metrics from applications, exporters, and infrastructure components that expose a /metrics endpoint. It scrapes those targets on a schedule and keeps the collected samples ready for querying, alerting, and forwarding.

Parseable can ingest metrics from Prometheus and Prometheus-compatible sources. In this setup, Prometheus forwards the collected samples to Parseable through Remote Write. Those samples are stored in a metrics dataset, where they can be queried alongside the rest of your telemetry.

The setup can start from an existing Prometheus server, or from a telemetry agent such as Fluent Bit or the OpenTelemetry Collector when you need to scrape Prometheus-compatible targets first.

Remote Write

The direct path is Prometheus Remote Write. Prometheus continues to scrape your targets, then forwards the collected samples to the Parseable ingestor endpoint.

remote_write:
  - url: "http://<parseable-ingestor-endpoint>:8000/v1/prometheus/write"
    headers:
      X-API-Key: <parseable-api-key>
      X-P-Stream: prometheus-metrics
      X-P-Log-Source: otel-metrics

X-API-Key authorizes the write to Parseable. X-P-Stream decides the target metrics dataset, and X-P-Log-Source: otel-metrics tells Parseable to treat the incoming payload as metrics data.

Fluent Bit with OpenTelemetry Output

Fluent Bit is useful when you already run it as a telemetry agent and want it to scrape Prometheus metrics from a target endpoint. The example below scrapes my-app:9090/metrics and forwards the data to Parseable's OTLP metrics endpoint.

[SERVICE]
    Flush              5
    Log_Level          info

[INPUT]
    Name               prometheus_scrape
    Host               my-app           # Target host exposing Prometheus metrics
    Port               9090             # Prometheus metrics port
    Metrics_Path       /metrics         # Standard Prometheus metrics endpoint
    Scrape_Interval    2s               # Scrape metrics every 2 seconds

[OUTPUT]
    Name                  opentelemetry
    Match                 *
    Host                  <parseable-ingestor-endpoint>
    Port                  8000
    Metrics_uri           /v1/metrics
    Log_response_payload  True
    Tls                   Off
    Header                X-API-Key <parseable-api-key>
    Header                X-P-Stream prometheus-metrics
    Header                X-P-Log-Source otel-metrics
    Add_label             app fluent-bit

Example Targets

Adjust Host and Port to scrape different sources:

TargetHostPort
Node Exporternode-exporter9100
Kubernetes APIkube-apiserver6443
Custom Appmy-app8080

OpenTelemetry Collector with Prometheus Receiver

Use the OpenTelemetry Collector when you want one pipeline for scraping, batching, retrying, and exporting Prometheus metrics. The Prometheus receiver scrapes the target, and the OTLP HTTP exporter sends the converted metrics to Parseable.

receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: 'my-app'
          scrape_interval: 15s
          static_configs:
            - targets: ['my-app:9090']

exporters:
  otlphttp/parseable:
    endpoint: "http://<parseable-ingestor-endpoint>:8000"
    headers:
      X-API-Key: <parseable-api-key>
      X-P-Stream: prometheus-metrics
      X-P-Log-Source: otel-metrics
    encoding: proto
    tls:
      insecure: true

service:
  pipelines:
    metrics:
      receivers: [prometheus]
      exporters: [otlphttp/parseable]

View Metrics in Parseable

Once data starts arriving, open the prometheus-metrics dataset from the Metrics page. You can inspect metric names, filter by labels, query with PromQL, and build dashboards for the targets you scrape.

Keep the dataset name clear enough for the team that owns it. For example, use separate datasets for node-metrics, kubernetes-metrics, or payments-metrics when those streams have different owners, retention needs, or dashboard workflows.

Things to Check

  • Use the ingestor endpoint, not a query-only endpoint, for writes.
  • Keep X-P-Log-Source set to otel-metrics.
  • Use an API key that can write to the target dataset.
  • Start with a short scrape_interval, then tune it based on the metric volume you expect.

Was this page helpful?

On this page