VictoriaMetrics supports data ingestion via OpenTelemetry protocol (OTLP) for metrics
at /opentelemetry/v1/metrics path.
It expects protobuf-encoded requests at /opentelemetry/v1/metrics. For gzip-compressed workload set HTTP request header Content-Encoding: gzip.
See how to configure OpenTelemetry Collector to push metrics to VictoriaMetrics.
Metric naming #
By default, VictoriaMetrics stores the ingested OpenTelemetry metric samples as is without any transformations. The following label transformations can be enabled:
-usePromCompatibleNaming- replaces characters unsupported by Prometheus with_in metric names and labels for all ingestion protocols. For example,process.cpu.time{service.name="foo"}is converted toprocess_cpu_time{service_name="foo"}.-opentelemetry.usePrometheusNaming- converts metric names and labels according to OTLP Metric points to Prometheus specification for metrics ingested via OTLP. For example,process.cpu.time{service.name="foo"}is converted toprocess_cpu_time_seconds_total{service_name="foo"}.-opentelemetry.convertMetricNamesToPrometheus- converts only metric names according to OTLP Metric points to Prometheus specification for metrics ingested via OTLP. For example,process.cpu.time{service.name="foo"}is converted toprocess_cpu_time_seconds_total{service.name="foo"}. See more about this use case here .
Note
These flags can be applied on vmagent, vminsert or VictoriaMetrics single-node.
Exponential histograms #
OpenTelemetry exponential histogram is automatically converted to VictoriaMetrics histogram format .
References #
- See How to use OpenTelemetry metrics with VictoriaMetrics .
- See more about OpenTelemetry in VictoriaMetrics .