Kafkametrics Receiver
contrib
Maintainers: @dmitryax
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
Note: This receiver was renamed fromkafkametricstokafka_metricsto match the snake_case naming convention. The deprecated component typekafkametricsis still accepted as an alias and will log a deprecation warning.
Prerequisites
This receiver supports Kafka versions 2.x, 3.x and 4.x (including KRaft mode).Note: Compatibility is determined by the underlying Kafka protocol support in the driver (e.g.,franz-goorsarama). Basic metrics collection remains compatible with Kafka 4.x brokers.
Feature gates
See documentation.md for the complete list of feature gates supported by this processor. Feature gates can be enabled using the--feature-gates flag:
Getting Started
Required settings (no defaults):scrapers: any combination of the following scrapers can be enabled.topicsconsumersbrokers
cluster_alias: Alias name of the cluster. Addskafka.cluster.aliasresource attribute.- The cluster’s unique ID can be auto-discovered from cluster metadata and emitted as the
kafka.cluster.idresource attribute. It is disabled by default; enable it viaresource_attributes.kafka.cluster.id.enabled: true. protocol_version(default = 2.1.0): Kafka protocol versionbrokers(default = localhost:9092): the list of brokers to read from.resolve_canonical_bootstrap_servers_only(default = false): whether to resolve then reverse-lookup broker IPs during startup.topic_match(default = ^[^_].*$): regex pattern of topics to filter on metrics collection. The default filter excludes internal topics (starting with_).group_match(default = .*): regex pattern of consumer groups to filter on for metrics.client_id(default = otel-collector): consumer client idcollection_interval(default = 1m): frequency of metric collection/scraping.initial_delay(default =1s): defines how long this receiver waits before starting.tls: see TLS Configuration Settings for the full set of available options.auth(default none)plain_text(Deprecated in v0.123.0: use sasl with mechanism set to PLAIN instead.)username: The username to use.password: The password to use
saslusername: The username to use.password: The password to use.mechanism: The sasl mechanism to use (SCRAM-SHA-256, SCRAM-SHA-512, AWS_MSK_IAM_OAUTHBEARER, or PLAIN)aws_mskregion: AWS Region in case of AWS_MSK_IAM_OAUTHBEARER mechanism
tls((Deprecated in v0.124.0: configure tls at the top level): this is an alias for tls at the top level.kerberosservice_name: Kerberos service namerealm: Kerberos realmuse_keytab: Use of keytab instead of password, if this is true, keytab file will be used instead of passwordusername: The Kerberos username used for authenticate with KDCpassword: The Kerberos password used for authenticate with KDCconfig_file: Path to Kerberos configuration. i.e /etc/krb5.confkeytab_file: Path to keytab file. i.e /etc/security/kafka.keytabdisable_fast_negotiation: Disable PA-FX-FAST negotiation (Pre-Authentication Framework - Fast). Some common Kerberos implementations do not support PA-FX-FAST negotiation. This is set tofalseby default.
metadatafull(default = true): Whether to maintain a full set of metadata. When disabled, the client does not make the initial request to broker at the startup.retrymax(default = 3): The number of retries to get metadatabackoff(default = 250ms): How long to wait between metadata retries
Examples:
- Basic configuration with all scrapers:
- Configuration with more optional settings:
- A non-default broker is specified
- cluster alias is set to “kafka-prod”
- collection interval is 5 secs.
- Kafka protocol version is 3.0.0
- mTLS is configured
Metrics
Attributes
Resource Attributes
Configuration
Example Configuration
Last generated: 2026-09-07