OpenTelemetry Bot d680729c09 [chore] Prepare release 0.90.0 (#29543) 1 year ago
..
internal 91643ba261 [mdatagen] allow adding resource_attribute warnings (#27257) 1 year ago
testdata 703be0d287 [receiver/kafkametrics] Fix metrics in kafkametricsreceiver (#4327) (#23632) 1 year ago
Makefile 107e5f309b Add kafkametricsreceiver initial structure (#2550) 3 years ago
README.md 6af33d6229 [kafka] Expose resolve_canonical_bootstrap_servers_only (#26022) 1 year ago
broker_scraper.go 95b3bcafe6 [chore] Relocate Shopify/sarama to IBM/sarama, upgrade to v1.40.1 (#24742) 1 year ago
broker_scraper_test.go 95b3bcafe6 [chore] Relocate Shopify/sarama to IBM/sarama, upgrade to v1.40.1 (#24742) 1 year ago
config.go 6af33d6229 [kafka] Expose resolve_canonical_bootstrap_servers_only (#26022) 1 year ago
config_test.go 96d53a2066 [exporter/kafka] move kafka configures authentication to internal pkg (#27289) 1 year ago
consumer_scraper.go 95b3bcafe6 [chore] Relocate Shopify/sarama to IBM/sarama, upgrade to v1.40.1 (#24742) 1 year ago
consumer_scraper_test.go 95b3bcafe6 [chore] Relocate Shopify/sarama to IBM/sarama, upgrade to v1.40.1 (#24742) 1 year ago
doc.go 5133f4ccd6 [chore] use license shortform (#22052) 1 year ago
documentation.md 703be0d287 [receiver/kafkametrics] Fix metrics in kafkametricsreceiver (#4327) (#23632) 1 year ago
factory.go 31e86352aa [receiver/kafkametrics] use generated status header (#22766) 1 year ago
factory_test.go 5133f4ccd6 [chore] use license shortform (#22052) 1 year ago
go.mod d680729c09 [chore] Prepare release 0.90.0 (#29543) 1 year ago
go.sum 40b485f08a Update core for v0.90.0 release (#29539) 1 year ago
integration_test.go 1015281507 [receiver/kafkametrics] skip flaky test (#29317) 1 year ago
metadata.yaml 326d0261f9 [cmd/mdatagen] Rename aggregation to aggregation_temporality for sum metrics (#24808) 1 year ago
receiver.go 6af33d6229 [kafka] Expose resolve_canonical_bootstrap_servers_only (#26022) 1 year ago
receiver_test.go 96d53a2066 [exporter/kafka] move kafka configures authentication to internal pkg (#27289) 1 year ago
scraper_test_helper.go 95b3bcafe6 [chore] Relocate Shopify/sarama to IBM/sarama, upgrade to v1.40.1 (#24742) 1 year ago
topic_scraper.go 95b3bcafe6 [chore] Relocate Shopify/sarama to IBM/sarama, upgrade to v1.40.1 (#24742) 1 year ago
topic_scraper_test.go 95b3bcafe6 [chore] Relocate Shopify/sarama to IBM/sarama, upgrade to v1.40.1 (#24742) 1 year ago

README.md

Kafka Metrics Receiver

Status
Stability beta: metrics
Distributions contrib, splunk, sumo
Issues Open issues Closed issues
Code Owners @dmitryax

Kafka metrics receiver collects kafka metrics (brokers, topics, partitions, consumer groups) from kafka server, converting into otlp.

Getting Started

Required settings (no defaults):

  • protocol_version: Kafka protocol version
  • scrapers: any combination of the following scrapers can be enabled.
    • topics
    • consumers
    • brokers

Metrics collected by the associated scraper are listed here

Optional Settings (with defaults):

  • brokers (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-metrics-receiver): consumer client id
  • collection_interval (default = 1m): frequency of metric collection/scraping.
  • initial_delay (default = 1s): defines how long this receiver waits before starting.
  • auth (default none)
    • plain_text
      • username: The username to use.
      • password: The password to use
    • tls
      • ca_file: path to the CA cert. For a client this verifies the server certificate. Should only be used if insecure is set to true.
      • cert_file: path to the TLS cert to use for TLS required connections. Should only be used if insecure is set to true.
      • key_file: path to the TLS key to use for TLS required connections. Should only be used if insecure is set to true.
      • insecure (default = false): Disable verifying the server's certificate chain and host name (InsecureSkipVerify in the tls config)
      • server_name_override: ServerName indicates the name of the server requested by the client in order to support virtual hosting.
    • kerberos
      • service_name: Kerberos service name
      • realm: Kerberos realm
      • use_keytab: Use of keytab instead of password, if this is true, keytab file will be used instead of password
      • username: The Kerberos username used for authenticate with KDC
      • password: The Kerberos password used for authenticate with KDC
      • config_file: Path to Kerberos configuration. i.e /etc/krb5.conf
      • keytab_file: Path to keytab file. i.e /etc/security/kafka.keytab

Examples:

1) Basic configuration with all scrapers:

receivers:
  kafkametrics:
    protocol_version: 2.0.0
    scrapers:
      - brokers
      - topics
      - consumers

2) Configuration with more optional settings:

For this example:

  • collection interval is 5 secs.

    receivers:
    kafkametrics:
    brokers: 10.10.10.10:9092
    protocol_version: 2.0.0
    scrapers:
      - brokers
      - topics
      - consumers
    auth:
      tls:
        ca_file: ca.pem
        cert_file: cert.pem
        key_file: key.pem
    collection_interval: 5s