Устранение неполадок запросов KQL для озера данных Microsoft Sentinel

Используйте следующий контрольный список, чтобы устранить типичные проблемы при работе с запросами и заданиями KQL (языка запросов Kusto) в озере данных Microsoft Sentinel.

  • Проверьте наличие необходимых условий перед выполнением запросов или заданий. Дополнительные сведения см. в разделе Роли и разрешения для озера данных Microsoft Sentinel.

  • Перед выполнением запросов или заданий KQL убедитесь, что выбраны правильные рабочие области.

  • Убедитесь, что все таблицы и рабочие области, на которые ссылается ссылка, существуют и доступны.

  • Используйте только поддерживаемые операторы и команды KQL, чтобы избежать ошибок выполнения.

  • Настройте запрос с помощью фильтров, таких как диапазон времени, чтобы избежать превышения времени ожидания запроса.

Проверка для конкретной задачи:

  • Убедитесь, что у вас есть правильная роль для целевой рабочей области при создании новых настраиваемых таблиц с помощью заданий. Дополнительные сведения см. в разделе Роли и разрешения для озера данных Microsoft Sentinel.

  • Протестируйте запросы в редакторе KQL, чтобы перехватывать ошибки синтаксиса и логики перед их отправкой в качестве заданий.

  • Убедитесь, что имена заданий уникальны во всех заданиях клиента, включая задания ноутбуков.

  • Убедитесь, что схема вывода запроса соответствует целевой таблице в именах столбцов и типах данных.

  • Проверка состояния задания и отслеживание хода выполнения.

  • См. таблицу сообщений об ошибках запроса KQL и таблицу сообщений об ошибках задания KQL для определенных сообщений об ошибках и шагах разрешения.

Примечание.

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

Сообщения об ошибках запроса KQL

В следующей таблице перечислены распространенные сообщения об ошибках запроса KQL, их причины и рекомендуемые действия.

Сообщение об ошибке Основная причина Рекомендуемые действия
Не удалось найти таблицу или она пуста. Указанная таблица не существует, пуста или у пользователя нет необходимых разрешений. Проверьте имя таблицы, подтвердите доступность данных и убедитесь, что у пользователя есть соответствующий доступ. Дополнительные сведения см. в разделе Роли и разрешения для озера данных Microsoft Sentinel.
Не удается получить доступ к удаленному объекту. Во внутренней серверной службе произошла внутренняя ошибка. Повторите попытку. Если проблема не устранена, откройте запрос в службу поддержки.
Время ожидания запросов в шлюзе. Длительные запросы без фильтров времени. Примените временные фильтры или дополнительные фильтры.
Диапазон времени не задан. Добавьте параметр времени выполнения, чтобы контролировать стоимость запроса и избежать тайм-аутов. Запросы с неограниченным ретроспективным охватом могут вызывать тайм-ауты. Примените временные фильтры или дополнительные фильтры.
Неподдерживаемая функция. Измените запрос, чтобы удалить функции, которые не поддерживаются в озере данных: ingestion_time(). Запросы к озеру данных не поддерживают функцию ingestion_time() . Удалите ingestion_time() из запроса и повторите попытку.
Выполнение запроса заняло больше времени, чем назначенное время ожидания, и было прервано. • Запрос может быть слишком сложным или получить большой набор данных, что приводит к превышению допустимого времени выполнения.
• Неэффективная структура запросов, например ненужные соединения или чрезмерная фильтрация, может привести к снижению производительности.
Оптимизируйте запрос и повторите попытку.
401-Unauthorized: обычно это представляет собой постоянную ошибку, и повторная попытка вряд ли поможет. Сведения об ошибке: DataSource={clusterUri}, DatabaseName={databaseName}. • Маркер проверки подлинности, используемый для доступа к озеру данных, может быть недействительным или истек.
• У вас нет необходимых разрешений для запроса указанной базы данных.
Повторная проверка подлинности и проверка разрешений на доступ.
Запрос вызвал внешний URL-адрес. Вызов внешнего URL-адреса не поддерживается для запросов в Lake. Запросы KQL, выполняемые в среде озера данных, не поддерживают вызов внешних конечных точек. Удалите вызов внешнего URL-адреса из запроса.
Выполнение запроса превысило допустимые ограничения. Интерактивные запросы KQL в озере данных ограничены 500 000 строк. Выполните запрос в задании KQL или используйте записные книжки.
Не удалось найти таблицы или могут не содержать данные. Пожалуйста, проверьте, существуют ли таблицы, содержат ли они данные и есть ли у пользователя права доступа. • Указанные таблицы могут не существовать в базе данных.
• Возможно, у вас нет разрешений на доступ к таблицам.
• Таблицы могут существовать, но не содержать данных, что не приводит к осмысленным выходным данным.
Подтвердите существование таблицы, доступность данных и разрешения пользователей.
Текст запроса превысил максимально допустимую длину после внутреннего расширения. Это может произойти, когда оператор in() используется с переменной, содержащей большой список элементов. • Оператор in() может использоваться с большим списком, что приводит к превышению ограничений для развернутого запроса.
• Запрос может содержать динамически создаваемое содержимое, что приводит к чрезмерной длине.
Уменьшение размера списка или упрощение запроса.
Выполнение запроса превысило допустимые ограничения. Оптимизируйте запрос и повторите попытку.
Семантические и синтаксические ошибки, например:
  • Семантическая ошибка: оператор project: не удалось разрешить скалярное выражение с именем "Метка времени"
  • Семантическая ошибка: оператор where: не удалось разрешить скалярное выражение с именем Type
  • Синтаксическая ошибка. Оператор не может быть первым оператором в запросе.
  • Синтаксическая ошибка: отсутствует выражение
  • Не удалось выполнить запрос KQL из-за ошибок проверки: обнаружен непредвиденный неполный фрагмент.
Запрос имеет неправильный формат и ссылается на таблицы или столбцы, которые не существуют, или использует недопустимые скалярные функции. Проверьте запрос и повторите попытку.
У клиента нет доступа ни к одной рабочей области, либо клиент указал недопустимые рабочие области в области действия. В запросе используется недопустимый идентификатор рабочей области. Введите правильный идентификатор рабочей области и повторите попытку.
Непредвиденная команда управления Использование команд управления (например, show) запрещено. Никаких действий не требуется.

Сообщения об ошибках заданий KQL

В следующей таблице описаны распространенные сообщения об ошибках задания KQL и способы их устранения.

Сообщение об ошибке Основная причина Рекомендуемые действия
Указанная целевая таблица не существует в целевой рабочей области. Неправильное имя таблицы, она удалена или еще не создана. Перед отправкой задания проверьте имя таблицы и убедитесь, что она существует в целевой рабочей области.
Указанная исходная таблица не существует. Одна или несколько исходных таблиц не существуют в указанных рабочих областях или были недавно удалены из рабочей области. Убедитесь, что исходные таблицы существуют в указанной рабочей области.
Имя рабочей области или базы данных, указанные в запросе, является недопустимым или недоступным. База данных, на которую указана ссылка, не существует или задание не имеет разрешений на доступ. Убедитесь, что имя базы данных правильно и доступно из контекста задания.
Указанная целевая рабочая область не существует в подписках Azure. Идентификатор или имя рабочей области недопустимы либо не найдены ни в одной подписке Azure в вашем арендаторе. Проверьте идентификатор рабочей области.
Схема вывода запроса не соответствует схеме целевой таблицы. Количество или имена столбцов в выходных данных запроса отличаются от схемы целевой таблицы. Обновите схему запроса или таблицы, чтобы убедиться, что они выровнены.
Типы данных одного или нескольких столбцов в выходных данных запроса не соответствуют схеме целевой таблицы. Несоответствие типов данных между результатами запроса и схемой таблицы, например строковый тип и тип даты и времени. Убедитесь, что каждый столбец в выходных данных запроса соответствует ожидаемому типу данных в схеме таблицы.
Не удалось выполнить запрос KQL из-за синтаксических или логических ошибок. Запрос содержит недопустимый синтаксис, неподдерживаемые функции, неподдерживаемые типы данных или неправильные ссылки. Протестируйте запрос в запросах KQL или Azure Data Explorer перед использованием запроса в задании KQL.
Имя задания KQL должно быть уникальным. Имя задания уже существует у арендатора. Укажите уникальное имя задания.
Недопустимое имя столбца. Он должен начинаться с буквы и содержать только буквы, цифры и символы подчеркивания (_), _ResourceId. Выходные столбцы задания содержат неподдерживаемый формат. Обновите запрос и переименуйте столбцы.