Расширение Apache Kafka

Материал из Документация Ключ-АСТРОМ

Автоматическое и интеллектуальное наблюдение с анализом трассировок и показателей.

Информация о совместимости

Требования

  • ЕдиныйАгент версии 1.270+
  • Ключ-АСТРОМ версии 1.270+
  • Функция ЕдиногоАгента Java Metric Extensions 2.0 (JMX) активирована

Обзор

Ключ-АСТРОМ позволяет обеспечить наблюдение за Kafka, не изменяя код, благодаря автоматическому мониторингу. Сквозная трассировка подключенных клиентов-производителей и потребителей позволяет диагностировать аномалии и определять первопричину сбоя кода до того, как это повлияет на ваших клиентов. Комплексные метрики дают вам представление о состоянии серверов Kafka, предоставляя показатели работоспособности и производительности. События указывают на критические аномалии, сокращая среднее время устранения.

  • Получите обзор мониторинга Kafka с помощью новых панелей мониторинга, которые поставляются вместе с расширением после активации. (96D9E295-0692-42DE-ABC8-74195A413798).png
  • Легко ориентируйтесь в среде Kafka и ее наиболее важных показателях с помощью готового к использованию дашборда, который входит в комплект активации расширения. (636E0CA1-FCF2-4C64-8DF2-9BCC48FFB812).png
  • Отдельный экран для вашего брокера Kafka со всеми его метриками, а также навигационная карта для остальной части вашей среды Kafka. (37E8B131-8001-459F-A01F-5C8D0B30156B).png
  • Специальные экраны Kafka. (810B1131-0450-454B-8CF4-830D87862AE6).png
  • Перечислите все темы Kafka, чтобы получить четкое представление о сгенерированных вами сущностях, с фильтрацией и упорядочением по наиболее релевантным показателям. (FF12A306-B258-4683-A3BF-012AABB8513E).png
  • Списки также доступны для остальных сгенерированных сущностей. (F0A25A10-0A48-4D52-A967-35517E20BC2F).png
  • Показатели уровня производителя можно просматривать на экранах унифицированного анализа для ваших очередей. (EB78E1CA-4F06-45BD-996B-6E49F944A28F).png
  • ЕдиныйАгент может отслеживать сквозные трассировки, соединяющие службы производителя и потребителя, отслеживать производительность тем и очередей и многое другое. (812B61B2-8236-4276-8BBB-82F9B473E88F).png

Начать

Клиенты обмена сообщениями (приложения)

Чтобы получить представление о трассировке:

  1. Установите ЕдиныйАгент на виртуальную машину или сервер ваших клиентов обмена сообщениями (приложений).
  2. Настройте Ключ-АСТРОМ на Kubernetes или OpenShift для рабочих нагрузок вашего клиента (приложения) обмена сообщениями.
  3. Активируйте следующие функции ЕдиногоАгента:
    • Java Kafka
    • Java Kafka Streams
    • Spring for Apache Kafka
    • Node.js KafkaJs
    • .NET Messaging Apache Kafka

Чтобы получить информацию из логов:

Серверы обмена сообщениями (брокеры)

Требования:

  • Kafka, работающий на поддерживаемой операционной системе Linux или Windows .
  • ЕдиныйАгент версии 1.270+
  • Ключ-АСТРОМ версии 1.270+

Чтобы получить метрическую информацию:

  1. Установите ЕдиныйАгент на виртуальную машину или сервер вашего процесса брокера Kafka.
  2. Обеспечьте мониторинг процессов брокера, производителя и потребителя Kafka.
  3. Активируйте функцию ЕдиногоАгента Java Metric Extensions 2.0 (JMX).
  4. Для настройки расширения выберите в Ключ-АСТРОМ Добавить в среду.
  5. Откройте обзорную панель Apache Kafka.

Подробности

Этот пакет расширения содержит:

  • Определения топологии и отношений для тем Kafka, производителей Kafka, потребителей Kafka, брокеров Kafka, а также отношения между этими сущностями.
  • Дашборд, предлагающий обзор мониторинга по темам, производителям, потребителям и брокерам.
  • Оповещения, охватывающие доступность брокера, контроллеры кластера, автономные разделы, выборы лидера и реплицированные разделы.
  • Унифицированная страница анализа для тем, производителей, потребителей и брокеров Kafka.

С помощью расширения Kafka вы можете получить дополнительную информацию о вашем сервере Kafka, включая метрики по брокерам, темам, производителям, потребителям и другим параметрам. Расширение также выводит оповещения по наиболее важным метрикам. Оно создаёт пользовательскую топологию и сущности для брокеров, тем, производителей и потребителей. Оно предоставляет дашборд для более удобного доступа и настройки расширения и его сущностей.

Расширение будет собирать различные метрики в зависимости от того, отслеживает ли оно брокера, производителя или потребителя Kafka. Для получения всех метрик обязательно активируйте расширение для всех из них.

Фильтрация тем

Расширение имеет одну переменную с именем Topic name filter, которую можно использовать для фильтрации тем, отслеживаемых этим расширением. Этот фильтр будет применяться к каждой метрике с измерением темы. В нём используется нотация Java ObjectName , то есть он принимает подстановочные знаки, такие как * и ?.

Чтобы начать, выберите Добавить в среду.

Варианты использования

  • Регистрируйте каждое сообщение на всех уровнях без пропусков.
  • Оптимизируйте производительность сервисов производителей и потребителей на всём пути.
  • Активно выявляйте и устраняйте проблемы асинхронных сервисов в вашем стеке.
  • Предотвращайте аномалии при обработке сообщений, чтобы сократить среднее время восстановления.
  • Отслеживайте состояние и производительность всех ваших брокеров и тем.
  • Анализируйте отставание потребителей.

Наборы функций

handler-metrics

Название метрики Метрический ключ Описание
Kafka Server - Handler Pool Idle Percent Rate kafka.server.handler.average-idle-percent.rate Средняя доля времени, в течение которого потоки обработчика запросов простаивают. Значения находятся в диапазоне от 0 (все ресурсы используются) до 1 (все ресурсы доступны).

controller-metrics

Название метрики Метрический ключ Описание
Kafka Controller - Offline partitions kafka.controller.KafkaController.OfflinePartitionsCount Количество разделов, которые не имеют активного лидера и, следовательно, не доступны для записи или чтения.
Kafka Controller - Active cluster controllers kafka.controller.KafkaController.ActiveControllerCount.Value Указывает, является ли брокер брокером-контроллером.

connector-metrics

Название метрики Метрический ключ Описание
Kafka Connector - Status kafka.connector.status Равно 1, если статус — «работает», в противном случае — 0.
Kafka Connector - Task status kafka.connector.task.status Равно 1, если статус — «работает», в противном случае — 0.
Kafka Connector - Task pause ratio kafka.connector.task.pause-ratio Доля времени, в течение которого задача находилась в состоянии паузы.
Kafka Connector - Task running ratio kafka.connector.task.running-ratio Доля времени, в течение которого задача находилась в состоянии выполнения.
Kafka Connector - Task success ratio kafka.connector.task.offset-commit-success-percentage Средний процент успешных попыток фиксации смещения для этой задачи.
Kafka Connector - Task commit time (max) kafka.connector.task.offset-commit-max-time-ms Максимальное время в миллисекундах, необходимое этой задаче для фиксации смещений.
Kafka Connector - Task failure ratio kafka.connector.task.offset-commit-failure-percentage Максимальное время в миллисекундах, необходимое этой задаче для фиксации смещений.
Kafka Connector - Task commit time (avg) kafka.connector.task.offset-commit-avg-time-ms Среднее время в миллисекундах, необходимое этой задаче для фиксации смещений.
Kafka Connector - Task batch size (max) kafka.connector.task.batch-size-max Максимальный размер пакетов, обрабатываемых соединителем.
Kafka Connector - Task batch size (avg) kafka.connector.task.batch-size-avg Средний размер пакетов, обрабатываемых соединителем.

producer-metrics

Название метрики Метрический ключ Описание
Kafka Producer - Incoming byte rate kafka.producer.producer-metrics.incoming-byte-rate Среднее количество ответов, полученных в секунду для узла.
Kafka Producer - Outgoing byte rate kafka.producer.producer-metrics.outgoing-byte-rate Среднее количество исходящих байтов, отправляемых в секунду на все серверы.
Kafka Producer - I/O Wait time kafka.producer.producer-metrics.io-wait-time-ns-avg Средняя продолжительность времени, в течение которого поток ввода-вывода ожидает готовности сокета для чтения или записи, в наносекундах.
Kafka Producer - Response rate kafka.producer.producer-metrics.response-rate Получено/отправлено ответов в секунду.
Kafka Producer - Request latency kafka.producer.producer-metrics.request-latency-avg Средняя задержка запроса в мс.
Kafka Producer - Compression rate kafka.producer.producer-metrics.compression-rate-avg Средний коэффициент сжатия пакетов записей, определяемый как среднее отношение размера сжатого пакета к его несжатому размеру.
Kafka Producer - Request size kafka.producer.producer-metrics.request-size-avg Средний размер всех запросов в окне.
Kafka Producer - Requests kafka.producer.producer-metrics.request-rate Среднее количество отправленных запросов в секунду.
Kafka Producer - Byte rate kafka.producer.producer-topic-metrics.byte-rate Среднее количество байтов, отправленных в секунду для темы.
Kafka Producer - Compression rate kafka.producer.producer-topic-metrics.compression-rate Средний коэффициент сжатия пакетов записей по теме, определяемый как среднее отношение размера сжатого пакета к несжатому размеру.
Kafka Producer - Failed Requests Rate kafka.producer.producer-topic-metrics.record-error-rate Среднее количество отправок записей в секунду, которые привели к ошибкам для темы.
Kafka Producer - Requests Sent Rate kafka.producer.producer-topic-metrics.record-send-rate Среднее количество записей, отправляемых в секунду по теме.

purgatory-metrics

Название метрики Метрический ключ Описание
Kafka Server - Purgatory Produce Size kafka.server.purgatory.produce-delay-size Запросы, ожидающие обработки в промежуточном состоянии (в «чистилище»).
Kafka Server - Purgatory Fetch Size kafka.server.purgatory.fetch-delay-size Запросы, ожидающие обработки в «чистилище» (на этапе получения данных).

consumer-metrics

Название метрики Метрический ключ Описание
Kafka Consumer - Requests kafka.consumer.consumer-metrics.request-rate Среднее количество запросов, отправляемых в секунду для узла.
Kafka Consumer - Request size kafka.consumer.consumer-metrics.request-size-avg Средний размер всех запросов в окне.
Kafka Consumer - Incoming byte rate kafka.consumer.consumer-metrics.incoming-byte-rate Байты/секунда, считанные со всех сокетов.
Kafka Consumer - Outgoing byte rate kafka.consumer.consumer-metrics.outgoing-byte-rate Среднее количество исходящих байтов, отправляемых в секунду на все серверы.
Kafka Consumer - Request latency kafka.consumer.consumer-metrics.request-latency-avg Средняя задержка запроса в мс для узла.
Kafka Consumer - Messages consumed rate kafka.consumer.consumer-metrics.records-consumed-rate Среднее количество записей, обрабатываемых в секунду.
Kafka Consumer - Bytes consumed rate kafka.consumer.consumer-metrics.bytes-consumed-rate Среднее количество байтов, потребляемых в секунду для темы.
Kafka Consumer - Fetch latency kafka.consumer.consumer-metrics.fetch-latency-avg Среднее время, необходимое для выполнения запроса на выборку.
Kafka Consumer - Consumer lag kafka.consumer.consumer-metrics.records-lag Последняя задержка раздела.
Kafka Consumer - Consumer lag average kafka.consumer.consumer-metrics.records-lag-avg Среднее отставание раздела.
Kafka Consumer - Consumer lag maximum kafka.consumer.consumer-metrics.records-lag-max Максимальная задержка раздела.

log-metrics

Название метрики Метрический ключ Описание
Kafka Log - Log flush 95th percentile kafka.log.LogFlushStats.LogFlushRateAndTimeMs.Percentile95th Регистрируйте скорость и время сброса в миллисекундах.
Kafka Log - Log flush mean time kafka.log.LogFlushStats.LogFlushRateAndTimeMs.Mean Регистрируйте скорость и время сброса в миллисекундах.

connect-metrics

Название метрики Метрический ключ Описание
Kafka Connect - Requests kafka.connect.connect-metrics.request-rate Среднее количество отправленных запросов в секунду.
Kafka Connect - Outgoing byte rate kafka.connect.connect-metrics.outgoing-byte-rate Среднее количество исходящих байтов, отправляемых в секунду на все серверы.
Kafka Connect - Request size kafka.connect.connect-metrics.request-size-avg Средний размер всех запросов в окне.
Kafka Connect - Incoming byte rate kafka.connect.connect-metrics.incoming-byte-rate Байты/секунда, считанные со всех сокетов.

zookeeper-metrics

Название метрики Метрический ключ Описание
Kafka Server - ZooKeeper disconnects kafka.server.SessionExpireListener.ZooKeeperDisconnectsPerSec.OneMinuteRate Счетчик, показывающий количество недавних отключений клиентов ZooKeeper.
Kafka Server - ZooKeeper expires kafka.server.SessionExpireListener.ZooKeeperExpiresPerSec.OneMinuteRate Количество сеансов ZooKeeper, срок действия которых истек.
Kafka Server - Zookeeper Active Connections kafka.server.active-connections Количество открытых в данный момент подключений к брокеру.

network-metrics

Название метрики Метрический ключ Описание
Kafka Network - Produce requests per second kafka.network.RequestMetrics.RequestsPerSec.Produce.OneMinuteRate Общее количество запросов на продукцию в секунду
Kafka Network - FetchConsumer requests per second kafka.network.RequestMetrics.RequestsPerSec.FetchConsumer.OneMinuteRate Общее количество запросов на выборку потребителя в секунду
Kafka Network - FetchFollower requests per second kafka.network.RequestMetrics.RequestsPerSec.FetchFollower.OneMinuteRate Общее количество запросов на выборку подписчиков в секунду
Kafka Network - Total time per Produce request kafka.network.RequestMetrics.TotalTimeMs.Produce.Count Общее время (в миллисекундах), затраченное на обработку запросов на продукцию.
Kafka Network - Total time per FetchConsumer request kafka.network.RequestMetrics.TotalTimeMs.FetchConsumer.Count Общее время (в миллисекундах), затраченное на обработку запросов для потребителя выборки.
Kafka Network - Total time per FetchFollower request kafka.network.RequestMetrics.TotalTimeMs.FetchFollower.Count Общее время (в миллисекундах), затраченное на обработку запросов для подписчика pfetch.
Kafka Network - Request queue size kafka.network.RequestChannel.RequestQueueSize.Value Размер очереди запросов.

leader-metrics

Название метрики Метрический ключ Описание
Kafka Controller - Leader election rate kafka.controller.ControllerStats.LeaderElectionRateAndTimeMs.OneMinuteRate Скорость и задержка выборов лидера брокера в миллисекундах. Ненулевое значение при сбоях в работе брокера.
Kafka Controller - Unclean election rate kafka.controller.ControllerStats.UncleanLeaderElectionsPerSec.OneMinuteRate Коэффициент выборов лидера нечистого брокера. Должен быть 0.
Kafka Server - Leader count kafka.server.ReplicaManager.LeaderCount.Value Количество реплик, по которым данный брокер является лидером.

broker-metrics

Название метрики Метрический ключ Описание
Kafka Broker - Incoming byte rate kafka.server.BrokerTopicMetrics.BytesInPerSec.OneMinuteRate Скорость, с которой данные, отправленные производителями, потребляются брокером.
Kafka Broker - Outgoing byte rate kafka.server.BrokerTopicMetrics.BytesOutPerSec.OneMinuteRate Скорость, с которой данные, отправленные другими брокерами, потребляются брокером-подписчиком.
Kafka Broker - Messages in rate kafka.server.BrokerTopicMetrics.MessagesInPerSec.OneMinuteRate Скорость, с которой отдельные сообщения потребляются брокером.
Kafka Broker - Follower fetch requests rate kafka.server.BrokerTopicMetrics.TotalFollowerFetchRequestsPerSec.OneMinuteRate Скорость запроса на выборку подписчиков для брокера.
Kafka Broker - Produce message conversions rate kafka.server.BrokerTopicMetrics.ProduceMessageConversionsPerSec.OneMinuteRate Скорость конвертации сообщений в сообщения по темам.
Kafka Broker - Partitions kafka.server.ReplicaManager.PartitionCount Количество разделов в брокере.
Kafka Broker - Under replicated partitions kafka.server.ReplicaManager.UnderReplicatedPartitions Количество разделов, которые не были полностью реплицированы в репликах-подписчиках.
Kafka Broker - Produce request rate kafka.server.BrokerTopicMetrics.TotalProduceRequestsPerSec.OneMinuteRate Скорость запроса продукции в секунду.
Kafka Broker - Fetch request rate kafka.server.BrokerTopicMetrics.TotalFetchRequestsPerSec.OneMinuteRate Скорость запросов на выборку в секунду.
Kafka Broker - Failed produce requests kafka.server.BrokerTopicMetrics.FailedProduceRequestsPerSec.OneMinuteRate Частота выполнения невыполненных запросов.
Kafka Broker - Failed fetch requests kafka.server.BrokerTopicMetrics.FailedFetchRequestsPerSec.OneMinuteRate Частота невыполненных запросов на выборку.
Kafka Server - Max follower lag kafka.server.ReplicaFetcherManager.MaxLag.Replica.Value Максимальная задержка между временем получения сообщений ведущей репликой и ведомыми репликами.
Kafka Server - Current follower lag kafka.server.FetcherLagMetrics.ConsumerLag.Value Задержка в количестве сообщений на реплику подписчика.
Kafka Server - Fetch Conversions Rate kafka.server.FetchConversionsRate.OneMinuteRate
Kafka Server - Produce Conversions Rate kafka.server.ProduceConversionsRate.OneMinuteRate

disk-metrics

Название метрики Метрический ключ Описание
Kafka Server - Disk Read Rate kafka.server.disk.read-bytes Общее количество байтов, прочитанных процессом брокера, включая чтение со всех дисков. Общее количество байтов не включает чтение из кэша страниц. Доступно только в системах на базе Linux.
Kafka Server - Disk Write Rate kafka.server.disk.write-bytes Общее количество байтов, записанных процессом-брокером, включая записи со всех дисков. Доступно только в системах на базе Linux.

Поиск неисправностей

  • Для устранения неполадок данного расширения воспользуйтесь руководством(ями) в сообществе Ключ-АСТРОМ.