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

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

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

Улучшение наблюдаемости Apache Cassandra

Обзор

Расширение мониторинга сервера Apache Cassandra JMX в Ключ-АСТРОМ предоставляет информацию об исключениях базы данных, неудачных запросах, производительности и многом другом.

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

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

Это расширение JMX (Java Management Extension) для Ключ-АСТРОМ. JMX идеально подходит для мониторинга приложений, созданных на Java. Убедитесь, что вы отслеживаете процесс Cassandra, поскольку расширение не поддерживает сбор метрик со стороны клиента.

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

  • Понимание всех зависимостей ваших приложений от базы данных, какие операторы базы данных выполняются и их производительность.
  • Улучшение производительности вашего приложения путём сокращения или оптимизации типичных шаблонов работы с базой данных, таких как проблема запроса 1+N.
  • Понимание влияния ваших приложений на ресурсы базы данных.
  • Понимание влияния нехватки ресурсов, блокировок или других проблем базы данных на ваше приложение путём наблюдения за самим сервером базы данных.

Требования

  • Cassandra 2+
  • Windows или Linux

Активация и настройка

Для клиентов базы данных Apache Cassandra:

  • Если ваше клиентское приложение работает на виртуальной машине или физическом сервере, установите ЕдиныйАгент на него, чтобы начать.
  • Если ваше клиентское приложение работает как рабочая нагрузка в Kubernetes или OpenShift, настройте Ключ-АСТРОМ на Kubernetes или OpenShift.
  • Активируйте следующие функции ЕдиныйАгент для получения трассировки:
  * Java CQL
  * Java Datastax Cql
  * Go CQL (gocql/gocql)
  • Активируйте мониторинг логов для получения аналитики логов.

Для серверов базы данных Apache Cassandra:

  • Если ваш сервер базы данных работает на виртуальной машине или физическом сервере, установите ЕдиныйАгент на него, чтобы начать.
  • Активируйте расширение Cassandra JMX для получения аналитики здоровья и производительности сервера базы данных в сочетании с метриками и событиями. Выберите Добавить в среду.
  • Активируйте мониторинг логов для получения полной аналитики логов.

Детали

Дашборд Обзор Cassandra JMX будет включён в расширение, где вы сможете увидеть обзор ваших метрик Cassandra JMX.

Кроме того, все метрики, собираемые расширением, будут добавлены на экран унифицированного анализа экземпляра группы процессов в трёх новых разделах: Исключения, Использование и Пул потоков. Убедитесь, что вы находитесь на новом экране для экземпляров групп процессов, чтобы увидеть их.

Все метрики также можно просмотреть с помощью визуализации данных.

Лицензирование и затраты

Использование расширения бесплатно. Вы платите только за данные, которые собирает расширение.

Расширение Apache Cassandra собирает пользовательские метрики, которые потребляют Davis Data Units (DDU) (классическая лицензия Ключ-АСТРОМ) или метрики в зависимости от вашей модели лицензирования.

Потребление зависит от количества отслеживаемых экземпляров.

Подписка на платформу Ключ-АСТРОМ

В подписке на платформу Ключ-АСТРОМ приём метрик потребляет метрики в соответствии с количеством принятых точек данных метрик.

Чтобы рассчитать приблизительное годовое потребление, примените следующую формулу: <количество точек данных метрик в минуту> * 60 минут * 24 часа * 365 дней.

Классическая лицензия Ключ-АСТРОМ

В классической модели лицензирования приём метрик потребляет Davis Data Units (DDU) со скоростью 0,001 DDU на точку данных метрики. Умножьте приведённую выше формулу для годовых точек данных на 0,001, чтобы оценить годовое использование DDU.

DDU, потребляемые этим расширением, имеют право на бесплатный уровень, включённый в каждый хост.

Стоимость DDU, указанная выше, не включает возможные события логов или пользовательские события, запускаемые расширением.

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

При активации расширения с помощью конфигурации мониторинга вы можете ограничить мониторинг одним из наборов функций. Для корректной работы расширение должно собрать хотя бы одну метрику после активации.

В сильно сегментированных сетях наборы функций могут отражать сегменты вашей среды. Затем при создании конфигурации мониторинга вы можете выбрать набор функций и соответствующую группу АктивныйШлюз, которая может подключиться к этому конкретному сегменту.

Все метрики, не отнесённые ни к одному набору функций, считаются стандартными и всегда сообщаются.

Метрика наследует набор функций подгруппы, которая, в свою очередь, наследует набор функций группы. Кроме того, набор функций, определённый на уровне метрики, переопределяет набор функций, определённый на уровне подгруппы, который, в свою очередь, переопределяет набор функций, определённый на уровне группы.

cache

Название метрики Ключ метрики Описание
KeyCache hit rate
cassandra.cache.keyCache.hits
Частота попаданий в кэш ключей в секунду.
RowCache hit rate
cassandra.cache.rowCache.hits
Частота попаданий в кэш строк в секунду.

compaction

Название метрики Ключ метрики Описание
Compaction pending tasks
cassandra.compaction.pendingTasks
Количество задач компакции, находящихся в ожидании.
Compaction completed tasks
cassandra.compaction.completedTasks
Количество завершённых задач компакции.
Compaction rate
cassandra.compaction.bytesCompacted
Частота сжатых байтов в секунду.

client-requests-write

Название метрики Ключ метрики Описание
Write failure rate
cassandra.clientRequest.write.failures
Частота сбоев записи в секунду. Сбой записи происходит, когда запрос на запись не может быть успешно завершён. Это может быть вызвано различными причинами, такими как тайм-ауты, недоступные реплики или другие проблемы в кластере Cassandra.
Write timeout rate
cassandra.clientRequest.write.timeout
Частота тайм-аутов записи в секунду. Тайм-аут записи происходит, когда запрос на запись не может быть завершён в течение указанного времени.
Write unavailable rate
cassandra.clientRequest.write.unavailables
Частота недоступности записи в секунду. Недоступность записи происходит, когда запрос на запись не может быть завершён из-за недоступных реплик.
Write latency rate
cassandra.clientRequest.write.latency.rate
Частота задержек записи в секунду.
Write latency 95th percentile
cassandra.clientRequest.write.latency.95thPercentile
95-й процентиль задержек записи.

storage

Название метрики Ключ метрики Описание
Exception count
cassandra.storage.exceptions
Количество исключений хранилища.
Storage load
cassandra.storage.load
Текущая нагрузка на систему хранения.
Storage total hints
cassandra.storage.totalHints
Общее количество подсказок в системе хранения.

column-family

Название метрики Ключ метрики Описание
Live SSTable count
cassandra.columnFamily.liveSSTableCount
Количество живых SSTable в семействе столбцов.

client-requests-read

Название метрики Ключ метрики Описание
Read failure rate
cassandra.clientRequest.read.failures
Частота сбоев чтения в секунду. Сбой чтения происходит, когда запрос на чтение не может быть успешно завершён. Это может быть вызвано различными причинами, такими как тайм-ауты, недоступные реплики или другие проблемы в кластере Cassandra.
Read timeout rate
cassandra.clientRequest.read.timeout
Частота тайм-аутов чтения в секунду. Тайм-аут чтения происходит, когда запрос на чтение не может быть завершён в течение указанного времени.
Read unavailable rate
cassandra.clientRequest.read.unavailables
Частота недоступности чтения в секунду. Недоступность чтения происходит, когда запрос на чтение не может быть завершён из-за недоступных реплик.
Read latency rate
cassandra.clientRequest.read.latency.rate
Частота задержек чтения в секунду.
Read latency 95th percentile
cassandra.clientRequest.read.latency.95thPercentile
95-й процентиль задержек чтения.

client-requests-rangeslice

Название метрики Ключ метрики Описание
RangeSlice timeout rate
cassandra.clientRequest.rangeSlice.timeout
Частота тайм-аутов RangeSlice в секунду. Тайм-аут RangeSlice происходит, когда запрос RangeSlice не может быть завершён в течение указанного времени.
RangeSlice failure rate
cassandra.clientRequest.rangeSlice.failures
Частота сбоев RangeSlice в секунду. Сбой RangeSlice происходит, когда запрос RangeSlice не может быть успешно завершён.
RangeSlice unavailable rate
cassandra.clientRequest.rangeSlice.unavailables
Частота недоступности RangeSlice в секунду. Недоступность RangeSlice происходит, когда запрос RangeSlice не может быть завершён из-за недоступных реплик.
RangeSlice latency rate
cassandra.clientRequest.rangeSlice.latency.rate
Частота задержек RangeSlice в секунду.
RangeSlice latency 95th percentile
cassandra.clientRequest.rangeSlice.latency.95thPercentile
95-й процентиль задержек RangeSlice.

thread-pool

Название метрики Ключ метрики Описание
Read stage pending tasks
cassandra.threadPool.request.read.pending.fix
Количество задач в стадии чтения, находящихся в ожидании.
Read stage active tasks
cassandra.threadPool.request.read.active.fix
Количество активных задач в стадии чтения.
Read stage blocked tasks total
cassandra.threadPool.request.read.totalBlocked.fix
Общее количество заблокированных задач в стадии чтения.
Read stage currently blocked tasks
cassandra.threadPool.request.read.currentlyBlocked.fix
Количество текущих заблокированных задач в стадии чтения.
ReadRepair stage pending tasks
cassandra.threadPool.request.readRepair.pending.fix
Количество задач в стадии ReadRepair, находящихся в ожидании.
ReadRepair stage active tasks
cassandra.threadPool.request.readRepair.active.fix
Количество активных задач в стадии ReadRepair.
ReadRepair stage blocked tasks total
cassandra.threadPool.request.readRepair.totalBlocked.fix
Общее количество заблокированных задач в стадии ReadRepair.
ReadRepair stage currently blocked tasks
cassandra.threadPool.request.readRepair.currentlyBlocked.fix
Количество текущих заблокированных задач в стадии ReadRepair.
Mutation stage pending tasks
cassandra.threadPool.request.mutation.pending.fix
Количество задач в стадии мутации, находящихся в ожидании.
Mutation stage active tasks
cassandra.threadPool.request.mutation.active.fix
Количество активных задач в стадии мутации.
Mutation stage blocked tasks total
cassandra.threadPool.request.mutation.totalBlocked.fix
Общее количество заблокированных задач в стадии мутации.
Mutation stage currently blocked tasks
cassandra.threadPool.request.mutation.currentlyBlocked.fix
Количество текущих заблокированных задач в стадии мутации.