Documentation Index
Fetch the complete documentation index at: https://metoro.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
There are two ways to send Prometheus metrics to Metoro.
1. OpenTelemetry Collector (Recommended)
The recommended approach is to use the OpenTelemetry Collector to scrape and forward Prometheus metrics to the exporter. This method preserves metric type information better than Prometheus Remote Write due to the more sophisticated type system in OpenTelemetry.
Here’s an example configuration for the OpenTelemetry Collector:
apiVersion: v1
kind: ConfigMap
metadata:
name: otel-collector-config
data:
collector-config.yaml: |
receivers:
prometheus:
config:
scrape_configs:
- job_name: 'prometheus-federate'
scrape_interval: 60s
metrics_path: /federate
params:
match[]:
- '{job=~".+"}'
static_configs:
- targets: ['PROMETHEUS_TO_SCRAPE_URL:9090']
# Uncomment this to rename the metrics to include the company name so it's easier to identify in Metoro vs the inbuilt metrics
# processors:
# metricstransform:
# transforms:
# - include: '(.*)'
# match_type: regexp
# action: update
# new_name: 'COMPANY_NAME_$1'
# batch: {}
exporters:
otlphttp:
endpoint: "http://metoro-exporter.metoro.svc.cluster.local/api/v1/custom/otel"
tls:
# Disable TLS for in-cluster communication, this is safe because the endpoint is internal to the cluster, when data is sent from the exporter out, it is encrypted
insecure: true
encoding: json
service:
pipelines:
metrics:
receivers: [prometheus]
processors: [metricstransform, batch]
exporters: [otlphttp]
This configuration:
- Sets up a Prometheus receiver to scrape metrics from your Prometheus instance
- Processes the metrics through a transformation pipeline
- Exports them to Metoro using the OTLP protocol
A full example can be seen here
2. Prometheus Remote Write
If you are unable to use the OpenTelemetry Collector, you can configure Prometheus to directly send metrics to Metoro using Remote Write. While this method is simpler to set up, it may not preserve all metric type information due to limitations in the Prometheus Remote Write protocol.
Add the following to your Prometheus configuration:
# The rest of your configuration here
remote_write:
- url: "http://metoro-exporter.metoro.svc.cluster.local/api/v1/send/prometheus/remote_write"
This configuration will send all scraped metrics directly to the exporter from your Prometheus instance using Prometheus Remote Write.
A full example can be seen here