Skip to main content

Flinkmetrics Receiver

Status Source: opentelemetry-collector-contrib

Overview

Status
Stabilityalpha
Supported pipeline typesmetrics
Distributionscontrib
This receiver uses Flink’s REST API to collect Jobmanager, Taskmanager, Job, Task and Operator metrics.

Prerequisites

This receiver supports Apache Flink versions 1.13.6 and 1.14.4. By default, authentication is not required. However, Flink recommends using a “side car proxy” that Binds the REST endpoint to the loopback interface and to start a REST proxy that authenticates and forwards the request to Flink. SSL can be enabled with the following REST endpoint options for external connectivity and have a self signed certificate or be self signed.

Configuration

The following settings are optional:
  • endpoint (default: http://localhost:15672): The URL of the node to be monitored.
  • collection_interval (default = 10s): This receiver collects metrics on an interval. Valid time units are ns, us (or µs), ms, s, m, h.
  • tls (defaults defined here): TLS control. By default insecure settings are rejected and certificate verification is on.

Example Configuration

receivers:
  flinkmetrics:
    endpoint: http://localhost:8081
    collection_interval: 10s
The full list of settings exposed for this receiver are documented here with detailed sample configurations here. TLS config is documented further under the opentelemetry collector’s configtls package.

Metrics

Details about the metrics produced by this receiver can be found in metadata.yaml

Metrics

Metric NameDescriptionUnitTypeAttributes
flink.jvm.cpu.loadThe CPU usage of the JVM for a jobmanager or taskmanager.%Gauge
flink.jvm.cpu.timeThe CPU time used by the JVM for a jobmanager or taskmanager.nsCounter
flink.jvm.memory.heap.usedThe amount of heap memory currently used.ByUpDownCounter
flink.jvm.memory.heap.committedThe amount of heap memory guaranteed to be available to the JVM.ByUpDownCounter
flink.jvm.memory.heap.maxThe maximum amount of heap memory that can be used for memory management.ByUpDownCounter
flink.jvm.memory.nonheap.usedThe amount of non-heap memory currently used.ByUpDownCounter
flink.jvm.memory.nonheap.committedThe amount of non-heap memory guaranteed to be available to the JVM.ByUpDownCounter
flink.jvm.memory.nonheap.maxThe maximum amount of non-heap memory that can be used for memory management.ByUpDownCounter
flink.jvm.memory.metaspace.usedThe amount of memory currently used in the Metaspace memory pool.ByUpDownCounter
flink.jvm.memory.metaspace.committedThe amount of memory guaranteed to be available to the JVM in the Metaspace memory pool.ByUpDownCounter
flink.jvm.memory.metaspace.maxThe maximum amount of memory that can be used in the Metaspace memory pool.ByUpDownCounter
flink.jvm.memory.direct.usedThe amount of memory used by the JVM for the direct buffer pool.ByUpDownCounter
flink.jvm.memory.direct.total_capacityThe total capacity of all buffers in the direct buffer pool.ByUpDownCounter
flink.jvm.memory.mapped.usedThe amount of memory used by the JVM for the mapped buffer pool.ByUpDownCounter
flink.jvm.memory.mapped.total_capacityThe number of buffers in the mapped buffer pool.ByUpDownCounter
flink.memory.managed.usedThe amount of managed memory currently used.ByUpDownCounter
flink.memory.managed.totalThe total amount of managed memory.ByUpDownCounter
flink.jvm.threads.countThe total number of live threads.{threads}UpDownCounter
flink.jvm.gc.collections.countThe total number of collections that have occurred.{collections}Countergarbage_collector_name
flink.jvm.gc.collections.timeThe total time spent performing garbage collection.msCountergarbage_collector_name
flink.jvm.class_loader.classes_loadedThe total number of classes loaded since the start of the JVM.{classes}Counter
flink.job.restart.countThe total number of restarts since this job was submitted, including full restarts and fine-grained restarts.{restarts}Counter
flink.job.last_checkpoint.timeThe end to end duration of the last checkpoint.msGauge
flink.job.last_checkpoint.sizeThe total size of the last checkpoint.ByUpDownCounter
flink.job.checkpoint.countThe number of checkpoints completed or failed.{checkpoints}Countercheckpoint
flink.job.checkpoint.in_progressThe number of checkpoints in progress.{checkpoints}UpDownCounter
flink.task.record.countThe number of records a task has.{records}Counterrecord
flink.operator.record.countThe number of records an operator has.{records}Counteroperator_name, record
flink.operator.watermark.outputThe last watermark this operator has emitted.msUpDownCounteroperator_name

Attributes

Attribute NameDescriptionTypeValues
nameThe operator name.string
nameThe names for the parallel scavenge and garbage first garbage collectors.stringPS_MarkSweep, PS_Scavenge, G1_Young_Generation, G1_Old_Generation
checkpointThe number of checkpoints completed or that failed.stringcompleted, failed
recordThe number of records received in, sent out or dropped due to arriving late.stringin, out, dropped

Resource Attributes

Attribute NameDescriptionTypeEnabled
host.nameThe host name.string
flink.taskmanager.idThe taskmanager ID.string
flink.job.nameThe job name.string
flink.task.nameThe task name.string
flink.subtask.indexThe subtask index.string
flink.resource.typeThe flink scope type in which a metric belongs to.string

Configuration

Example Configuration

flinkmetrics:
  endpoint: http://localhost:8081
  collection_interval: 10s

Last generated: 2026-04-14