Интеграция с Kafka
info
Перевод в процессе / Translation in progress. See русская версия.
Интеграция читает метрики брокеров Kafka (JMX-экспортер или metrics.reporters) и consumer-lag через Admin API, публикует их в Flaree.
Предварительные требования
-
Apache Kafka 2.8+ или Confluent Platform с подключённым JMX-экспортером (порт по умолчанию 9404) либо настроенным
kafka.metrics.reportersна брокерах. -
Сетевая доступность из агента до bootstrap-серверов (по умолчанию TCP 9092 или 9093 при TLS).
-
ACL для read-only пользователя
flaree_agent, разрешающие чтение consumer-lag:kafka-acls.sh --bootstrap-server kafka-0.svc:9092 \--add --allow-principal User:flaree_agent \--operation Describe --topic '*' --group '*'
Минимальная конфигурация
integrations:
kafka:
enabled: true
brokers:
- kafka-0.svc:9092
consumer_groups:
- my-consumer
Полная конфигурация
integrations:
kafka:
enabled: true
brokers:
- kafka-0.svc:9093
- kafka-1.svc:9093
- kafka-2.svc:9093
security_protocol: SASL_SSL
sasl:
mechanism: SCRAM-SHA-512
username: flaree_agent
password: ${KAFKA_PASSWORD}
ssl:
ca_file: /etc/flaree/certs/kafka-ca.pem
jmx_exporter_url: http://kafka-0.svc:9404/metrics
consumer_groups:
- my-consumer
- billing-processor
topics:
include:
- "orders.*"
exclude:
- "_internal.*"
interval: 30s
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
brokers[] | array | — | Список bootstrap-адресов. |
security_protocol | enum | PLAINTEXT | PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL. |
sasl.mechanism | enum | — | PLAIN, SCRAM-SHA-256, SCRAM-SHA-512. |
jmx_exporter_url | url | — | URL Prometheus-эндпоинта JMX-экспортера. |
consumer_groups[] | array | [] | Список групп для сбора lag. |
interval | duration | 30s | Периодичность опроса. |
Проверка работы
- Проверить, что на эндпоинте агента появились метрики consumer-lag.
- Проверить логи агента на успешное подключение к брокерам Kafka.
curl http://127.0.0.1:9100/metrics | grep kafka_consumergroup_lag
docker logs flaree-agent | grep kafka
Troubleshooting
- Если метрики пусты, см. нет данных.
- Типовые причины: отсутствие ACL
Describeдля consumer group, несоответствие SASL-механизма между брокером и агентом, недоступный JMX-эндпоинт (firewall илиlisteners.yaml).