Серверная диагностика для Azure Cosmos DB для Apache Cassandra

ПРИМЕНИМО К: Кассандра

Log Analytics — это средство в портал Azure, которое помогает запускать серверные диагностика в учетной записи API для Cassandra. Запросы журналов выполняются для данных, собранных журналами Azure Monitor, а их результаты анализируются в интерактивном режиме. Записи, полученные из запросов Log Analytics, помогают получить разную информацию о ваших данных.

Предварительные требования

Использование Log Analytics

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

Обзор операций в плоскости данных

Используйте таблицу CDBCassandraRequests, чтобы просмотреть операции плоскости данных специально для вашей учетной записи API для Cassandra. Это пример запроса для просмотра запроса потребления topN(10) и получения подробной информации по каждому из них.

CDBCassandraRequests
| where RequestCharge  > 0
| project DatabaseName, CollectionName, DurationMs, OperationName, ActivityId, ErrorCode, RequestCharge, PIICommandText 
| order by RequestCharge
| take 10

Коды ошибок и возможные решения

Код состояния Код ошибки Описание
200 -1 Успешно
400 8704 Запрос правильный, но недопустимый синтаксис.
400 8192 В отправленном запросе есть синтаксическая ошибка. Просмотрите свой запрос.
400 8960 Запрос недействителен из-за проблемы с конфигурацией.
401 8448 Зарегистрированный пользователь не имеет прав для выполнения запроса.
403 8448 Ответ запрещен, так как у пользователя может не быть необходимых разрешений для выполнения запроса.
404 5376 Исключение без истечения времени ожидания во время запроса на запись в результате того, что не найден ответ.
405 0 Ошибка Cassandra на стороне сервера. Ошибка возникает редко, откройте запрос в службу поддержки.
408 4608 Время ожидания при проведении запроса на чтение.
408 4352 Исключение истечения времени ожидания во время записи serviceRequest.
409 9216 Попытка создать ключевое пространство или таблицу, которые уже существуют.
412 5376 Сбой необходимого условия. Чтобы обеспечить целостность данных, мы гарантируем, что запрос на запись, основанный на чтении текста ответа, является истинным. Возвращается исключение запроса на запись без истечения времени ожидания.
413 5376 Это исключение без истечения времени ожидания может возникнуть во время запроса на запись из-за слишком большого объема полезных данных. В настоящее время ограничение составляет 2 МБ на строку.
417 9472 Исключение возникает, когда подготовленный оператор не кэшируется на узле сервера. Он должен быть временным или без блокировки.
423 5376 Включена блокировка из-за того, что в данный момент обрабатывается запрос на запись.
429 4097 Исключение перегрузки является результатом нехватки единиц запроса или высокой частоты запросов. Вероятно, для обработки запросов большего объема потребуется большее количество единиц запроса. В собственной оболочке Cassandra это можно интерпретировать как одну из виртуальных машин, не имеющих достаточно ЦП. Мы рекомендуем проанализировать текущую модель данных, чтобы убедиться, что у вас нет излишних отклонений, которые могут вызывать горячие разделы.
449 5376 Исключение параллельного выполнения. Это позволяет гарантировать, что для данной строки обновление записи будет осуществляться только один раз.
500 0 Server cassandraError: произошло что-то непредвиденное. Это указывает на ошибку на стороне сервера.
503 4096 Служба недоступна.
256 Это может быть из-за недопустимых учетных данных подключения. Проверьте свои учетные данные подключения.
10 Сообщение клиента инициировало нарушение протокола. Например, это сообщение запроса, отправленное перед сообщением запуска.

Устранение неполадок с потреблением запросов

Таблица CDBPartitionKeyRUConsumption содержит сведения о потреблении единиц запроса (ЕЗ) для логических ключей в каждом из физических разделов.

CDBPartitionKeyRUConsumption 
| summarize sum(todouble(RequestCharge)) by PartitionKey, PartitionKeyRangeId
| render columnchart

Обзор операций уровня управления

Таблица CBDControlPlaneRequests содержит сведения об операциях уровня управления, специально для API для учетных записей Cassandra.

CDBControlPlaneRequests
| where TimeGenerated > now(-6h)
| where  ApiKind == "Cassandra"
| where OperationName in ("Create", "Upsert", "Delete", "Execute")
| summarize by OperationName

Дальнейшие действия