Ведение журнала Azure Data Manager для сельского хозяйства

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

В этой статье приведены инструкции по настройке ведения журнала для Azure Data Manager для сельского хозяйства.

Включите сбор журналов

После создания ресурса службы Data Manager для сельского хозяйства перейдите в настройки диагностики, а затем выберите add diagnostics settings. Выполните следующие действия, чтобы начать сбор и хранение журналов:

  1. Укажите имя для параметра диагностики.
  2. Выберите категории, для которых нужно начать сбор журналов.
  3. Выберите место назначения для сбора данных из учетной записи хранения, узла событий или рабочей области для анализа журналов.

Снимок экрана: шаги по созданию параметра диагностики в портале Azure.

Теперь вы можете перейти к месту назначения, указанному в параметре диагностики для доступа к журналам. Вы можете получить доступ к данным ведения журнала в течение 10 минут (не более чем) после операции Диспетчера данных для сельского хозяйства. В большинстве случаев это быстрее.

Интерпретируйте свои журналы

Каждый журнал следует схеме, указанной в таблице. Таблица содержит имена полей и описания:

Имя поля Описание
time Дата и время (в формате UTC).
resourceId Идентификатор ресурса Azure Resource Manager. Для ведения журналов это идентификатор ресурса Data Manager для сельского хозяйства.
operationName Имя операции, как задокументировано.
версияОперации Запрошенная клиентом версия REST API.
категория Тип результата.
типРезультата Результат запроса REST API (успешное выполнение или сбой).
resultSignature Состояние HTTP.
resultDescription Дополнительное описание результата при наличии.
durationMs Время обслуживания запроса REST API в миллисекундах.
callerIpAddress IP-адрес клиента, выполнившего запрос.
уровень Уровень серьезности события (информационное, предупреждение, ошибка или критическое значение).
correlationId Необязательный GUID, который можно использовать для корреляции журналов.
identity Идентичность из маркера, представленного в запросе к REST API. Обычно это идентификатор объекта и идентификатор приложения или один из двух.
расположение Регион ресурса, создающего событие, например "Восточная часть США"
свойства Для каждого operationName содержится: requestUri (URI запроса API), partyId (partyId, связанный с запросом, где это применимо), dataPlaneResourceId (идентификатор, который однозначно идентифицирует ресурс плоскости данных в запросе) и requestBody (содержит тело запроса для вызова API, связанного с operationName, для всех категорий, кроме ApplicationAuditLogs).
Помимо общих, упомянутых ранее, jobProcessesLogs категория также имеет:
1. Этот список содержит поля для имён операций:
jobRunType (может быть разовым или периодическим), jobId (идентификатор задания), initiatedBy (указывает, активируется ли задание пользователем или службой).
2. Этот список полей для неудачных заданий farmOperation:
farmOperationEntityId (идентификатор сущности, которая не была создана заданием farmOperation), farmOperationEntityType(тип сущности, которую не удалось создать), errorCode(код сбоя задания), errorMessage(описание сбоя), internalErrorCode(код сбоя, предоставленный поставщиком), internalErrorMessage(описание сбоя, предоставленного поставщиком), providerId(идентификатор поставщика).

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

Таблица категорий

Категория Описание
FarmManagementLogs Журналы операций CRUD для партии, фермы, поля, сезонного поля, урожая, разновидности урожая, сезона, вложения, карты предписаний, предписания, зоны управления, зоны, анализ ткани растений и анализ питательных веществ.
FarmOperationsLogs Журналы CRUD-операций для задания по приему данных FarmOperations, включая ApplicationData, PlantingData, HarvestingData, TillageData.
SatelliteLogs Журналы для создания и получения операций для задания приема спутниковых данных
WeatherLogs Журналы для операций создания, удаления и получения в задаче по приему данных о погоде.
ProviderAuthLogs Журналы для создания, обновления, удаления, каскадного удаления, запроса и получения всех данных для поставщиков OAuth. Он также содержит журналы для получения, получения всех и каскадного удаления токенов OAuth.
Логи обработанных заданий Журналы для указания успеха или неудачи и причины неудачи задач. Помимо журналов для заданий каскадного удаления ресурсов, заданий приема данных также содержатся журналы для операций фермы и заданий обработки событий.
ModelInferenceLogs Журналы для создания и получения операций для задания модели биомассы.
InsightLogs Журналы для получения и получения всех операций для аналитики.
Журналы аудита приложений Журналы действий с привилегиями, таких как создание, обновление и удаление ресурсов управляющей плоскости, а также операции управления подписками. Полный список находится в таблице имен операции ниже.

Значения operationName полей находятся в формате Microsoft.AgFoodPlatform/resource-name/read или write или delete или action.

  • /write суффикс в имени операции соответствует созданию или обновлению имени ресурса
  • /readсуффикс в имени операции соответствует вызову GET/LIST /GET ALL API или состоянию GET для каскадного задания удаления для имени ресурса
  • /delete суффикс соответствует удалению имени ресурса
  • /action суффикс соответствует вызовам метода POST для имени ресурса
  • /processed суффикс соответствует завершению задания (вызов метода PUT). Это означает состояние задания (успешно или неудачно).
  • /failures суффикс соответствует сбою задачи выполнения на ферме (вызов метода PUT) и включает описание причины сбоя.

Номенклатура должностей выглядит следующим образом:

  • Для заданий ввода данных: Microsoft.AgFoodPlatform/ingestionJobs/<'resource-name' DataingestionJobs>/write
  • Для заданий удаления: Microsoft.AgFoodPlatform/deletionJobs/<'resource-name'cascadeDeleteJobs>/write

В следующей таблице перечислены значения operationName и соответствующие команды REST API для категории в виде вкладки:

FarmManagementLogs

имя операции
Microsoft.AgFoodPlatform/farmers/write
Microsoft.AgFoodPlatform/farmers/read
Microsoft.AgFoodPlatform/deletionJobs/farmersCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/farms/write
Microsoft.AgFoodPlatform/farms/read
Microsoft.AgFoodPlatform/farms/delete
Microsoft.AgFoodPlatform/deletionJobs/farmsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/field/write
Microsoft.AgFoodPlatform/field/read
Microsoft.AgFoodPlatform/field/delete
Microsoft.AgFoodPlatform/deletionJobs/fieldsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/seasonalField/write
Microsoft.AgFoodPlatform/seasonalField/read
Microsoft.AgFoodPlatform/seasonalField/delete
Microsoft.AgFoodPlatform/deletionJobs/seasonalFieldsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/boundaries/write
Microsoft.AgFoodPlatform/boundaries/read
Microsoft.AgFoodPlatform/boundaries/delete
Microsoft.AgFoodPlatform/boundaries/action
Microsoft.AgFoodPlatform/deletionJobs/fieldsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/crops/write
Microsoft.AgFoodPlatform/crops/read
Microsoft.AgFoodPlatform/crops/delete (удалить)
Microsoft.AgFoodPlatform/cropVarieties/write
Microsoft.AgFoodPlatform/cropVarieties/read
Microsoft.AgFoodPlatform/cropVarieties/delete
Microsoft.AgFoodPlatform/seasons/write
Microsoft.AgFoodPlatform/seasons/read
Microsoft.AgFoodPlatform/seasons/delete
Microsoft.AgFoodPlatform/attachments/write
Microsoft.AgFoodPlatform/attachments/read
Microsoft.AgFoodPlatform/attachments/delete
Microsoft.AgFoodPlatform/инструкции/write
Microsoft.AgFoodPlatform/рецепты/чтение
Microsoft.AgFoodPlatform/рецепты/удалить
Microsoft.AgFoodPlatform/deletionJobs/prescriptionsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/prescriptionMaps/write
Microsoft.AgFoodPlatform/prescriptionMaps/read
Microsoft.AgFoodPlatform/prescriptionMaps/delete
Microsoft.AgFoodPlatform/deletionJobs/prescriptionMapsCascadeDeleteJobs/write
Microsoft.AgFoodPlatform/managementZones/write
Microsoft.AgFoodPlatform/managementZones/read
Microsoft.AgFoodPlatform/managementZones/delete
Microsoft.AgFoodPlatform/deletionJobs/managementZonescascadeDeletejobs/write
Microsoft.AgFoodPlatform/zones/write
Microsoft.AgFoodPlatform/zones/read
Microsoft.AgFoodPlatform/zones/delete
Microsoft.AgFoodPlatform/deletionJobs/zonesCascadedeleteJobs/write
Microsoft.AgFoodPlatform/plantTissueanalyses/write
Microsoft.AgFoodPlatform/plantTissueanalyses/read
Microsoft.AgFoodPlatform/plantTissueanalyses/delete
Microsoft.AgFoodPlatform/deletionJobs/plantTissueanalysesCascadedeleteJobs/write
Microsoft.AgFoodPlatform/nutrientAnalyses/write
Microsoft.AgFoodPlatform/nutrientAnalyses/read
Microsoft.AgFoodPlatform/nutrientAnalyses/delete
Microsoft.AgFoodPlatform//deleteJobs/nutrientAnalysescascadeDeletejobs/delete

Журналы операций фермы

название операции
Microsoft.AgFoodPlatform/ingetsionJobs/farmOperationsdataIngestionjobs/write
Microsoft.AgFoodPlatform/applicationData/read
Microsoft.AgFoodPlatform/applicationData/write
Microsoft.AgFoodPlatform/applicationData/delete
Microsoft.AgFoodPlatform/deletionJobs/applicationDatacascadeDeletejob/write
Microsoft.AgFoodPlatform/plantingData/write
Microsoft.AgFoodPlatform/данные_посева/чтение
Microsoft.AgFoodPlatform/plantingData/delete
Microsoft.AgFoodPlatform/deletionJobs/plantingDatacascadeDeletejob/write
Microsoft.AgFoodPlatform/harvestingData/write
Microsoft.AgFoodPlatform/harvestingData/read
Microsoft.AgFoodPlatform/harvestingData/delete
Microsoft.AgFoodPlatform/deletionJobs/harvestingDatacascadeDeletejob/write
Microsoft.AgFoodPlatform/tillageData/Write
Microsoft.AgFoodPlatform/tillageData/Read
Microsoft.AgFoodPlatform/tillageData/Delete
Microsoft.AgFoodPlatform/deletionJobs/tillageDatacascadeDeletejob/write

SatelliteLogs

ИмяОперации
Microsoft.AgFoodPlatform/ingestionJobs/satelliteDataingestionJob/write
Microsoft.AgFoodPlatform/scenes/read

WeatherLogs

operationName
Microsoft.AgFoodPlatform/ingestionJobs/weatherDataingestionJob/write
Microsoft.AgFoodPlatform/weather/read
Microsoft.AgFoodPlatform/deletionJobs/weatherDeletejob/delete

ProviderAuthLogs

название_операции
Microsoft.AgFoodPlatform/oauthProviders/write
Microsoft.AgFoodPlatform/oauthProviders/read
Microsoft.AgFoodPlatform/oauthProviders/delete
Microsoft.AgFoodPlatform/oauthTokens/read
Microsoft.AgFoodPlatform/oauthTokens/delete

ЖурналыПроцессовРаботы

имя операции
Microsoft.AgFoodPlatform/ingestionJobs/satelliteDataIngestionJobs/processed (обработано)
Microsoft.AgFoodPlatform/deletionJobs/satelliteDataDeletionJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/weatherDataIngestionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/weatherDataDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/oauthProvidersCascadeDeleteJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/oauthTokensRemoveJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/bioModelJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/ImageProcessingRasterizeJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationDataIngestionJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationDataIngestionJobs/processed/failures
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationPeriodicJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/работыПоФермерскимОперациямПовтоения/обработано/ошибки
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationEventHandlingJobs/processed
Microsoft.AgFoodPlatform/ingestionJobs/farmOperationEventHandlingJobs/processed/failures
Microsoft.AgFoodPlatform/deletionJobs/applicationDataCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/tillageDataCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/plantingDataCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/harvestDataCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/managementZonesCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/zonesCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/plantTissueAnalysesCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/prescriptionsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/prescriptionMapsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/insightsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/farmersCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/farmsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/fieldsCascadeDeletionJobs/processed
Microsoft.AgFoodPlatform/deletionJobs/seasonalFieldsCascadeDeletionJobs/processed

Журналы аудита приложения

Журналы записи и удаления, присутствующих в других категориях, также присутствуют в этой категории. Разница между журналами в этой категории и другими категориями для одного вызова API заключается в том, что ApplicationAuditLogs не регистрирует текст запроса, а в других категориях заполнен текст запроса. Используйте идентификатор корреляции для связи журналов двух разных категорий, чтобы получить дополнительные сведения. Ниже перечислены некоторые операции плоскости управления, которые не являются частью остальных категорий.

Примечание.

Для осуществления вызовов управляющей плоскости требуется доступ владельца к области ресурсов ADMA.

Название операции
Создание ресурса Data Manager для сельского хозяйства
Обновление "Менеджера данных" для управления ресурсами сельского хозяйства
Удаление менеджера данных для сельского хозяйства
Создавать подписку
Обновлять подписку
Аутентификация плоскости данных

Запрос журналов ресурсов в рабочей области Log Analytics

categories Все журналы ресурсов сопоставляются как таблица в log analytics. Чтобы получить доступ к журналам для каждой категории, необходимо создать параметр диагностики для отправки данных в рабочую область Log Analytics. В этой рабочей области можно запросить любую из таблиц, перечисленных для получения соответствующих журналов.

Список таблиц в log analytics и их сопоставление с категориями в журналах ресурсов

Имя таблицы в log analytics Категории в журналах ресурсов Описание
AgriFoodFarmManagementLogs FarmManagementLogs Журналы операций CRUD для партии, фермы, поля, сезонного поля, культуры, сорта культуры, сезона, вложения, рецептурные карты, рецепты, зоны управления, зоны, анализ ткани растений и анализ питательных веществ.
Журналы операций агропродовольственной фермы FarmOperationsLogs Журналы операций CRUD для задания по загрузке данных FarmOperations, ApplicationData, PlantingData, HarvestingData, TillageData.
AgriFoodSatelliteLogs SatelliteLogs Журналы для создания и получения операций для задания приема спутниковых данных.
Журнал агропродовольственной погоды WeatherLogs Журналы операций создания, удаления и получения для задачи по приему данных о погоде.
Журналы аутентификации поставщика сельскохозяйственных продуктов ProviderAuthLogs Журналы создания, обновления, удаления, каскадного удаления, получения и выборки всех данных для поставщиков OAuth. Он также содержит журналы для получения, получения всех, каскадного удаления oauth токенов.
AgriFoodInsightLogs InsightLogs Журналы для получения и анализа всех операций.
AgriFoodModelInferenceLogs ModelInferenceLogs Журналы операций создания и получения для задачи модели биомассы.
Логи обработки работы AgriFood Журналы обработки задач Лог-файлы для указания успешного или неудачного выполнения заданий и причин неудачи. Помимо журналов для заданий каскадного удаления ресурсов, заданий загрузки данных. Он также содержит журналы операций фермы и выполнения задач по обработке событий.
Журналы аудита приложений агропродовольствия ApplicationAuditLogs Журналы для привилегированных действий, такие как создание, обновление и удаление ресурсов уровня данных, а также операции управления подписками.

Список столбцов в таблицах log analytics

Имя поля Описание
Time Дата и время (в формате UTC).
ResourceId Идентификатор ресурса Azure Resource Manager для журналов Менеджер данных для сельского хозяйства.
OperationName Имя операции, как описано в предыдущей таблице.
ВерсияОперации Запрошенная клиентом версия REST API.
Категория Сведения о категориях в журналах Data Manager для сельского хозяйства могут быть любым значением, как указано в таблице категорий.
ResultType Результат запроса REST API (успешное выполнение или сбой).
ResultSignature Состояние HTTP.
ResultDescription Дополнительные сведения о результатах, когда они доступны.
ДлительностьМс Время обслуживания запроса REST API в миллисекундах.
CallerIpAddress IP-адрес клиента, выполнившего запрос.
Уровень Уровень серьезности события (информационное, предупреждение, ошибка или критически важный).
CorrelationId Необязательный GUID, который можно использовать для корреляции журналов.
ApplicationId Идентификатор приложения, указывающий на личность вызывающего абонента.
ObjectId Идентификатор объекта, указывающий на идентичность вызывающего абонента.
ClientTenantId Идентификатор арендатора вызывающего.
SubscriptionId Идентификатор подписки, используемой вызывающим абонентом.
Местонахождение Регион ресурса, создающего событие, например "Восточная часть США"
ТипЗапускаЗадания Доступно только в AgriFoodJobProcessesLogs таблице, указывает тип выполнения задания. Значение может быть либо периодическим, либо одноразовым.
JobId Доступно в AgriFoodJobProcessesLogs, AgriFoodSatelliteLogs, AgriFoodWeatherLogs и AgriFoodModelInferenceLogs, что указывает идентификатор задания.
Инициировано Доступно только в AgriFoodJobProcessesLogs таблице. Указывает, инициируется ли задание пользователем или службой.
partyId Идентификатор стороны, связанной с операцией.
Свойства Доступно только вAgriFoodJobProcessesLogs таблице: farmOperationEntityId (идентификатор сущности, которая не была создана заданием farmOperation), farmOperationEntityType (тип сущности, которую не удалось создать, может быть ApplicationData, PeriodicJob и т. д.), errorCode (код сбоя задания в Data Manager для сельского хозяйства), errorMessage (описание сбоя в Data Manager для сельского хозяйства), internalErrorCode (код сбоя задания, предоставленный поставщиком), internalErrorMessage (описание сбоя, предоставленного поставщиком), providerId (идентификатор поставщика, например JOHN-DEERE).

Каждую из этих таблиц можно запросить, создав рабочую область Log Analytics. Здесь приведена ссылка на язык запросов.

Список примеров запросов в рабочей области Log Analytics

Имя запроса Описание
Состояние операций управления фермерским хозяйством для участника Извлекает количество успешных и неудачных операций в категории FarmManagementLogs для каждой стороны.
Статистика выполнения задания для участника Предоставляет количество успешных и неудачных результатов для всех операций в категории JobProcessedLogs для каждой стороны.
Сбой авторизации Определяет список пользователей, которые не смогли получить доступ к ресурсу и причину этого сбоя.
Состояние всех операций для участника Агрегирует неудачи и успехи по категориям для партии.
Тенденции использования для 100 лучших партий, основанные на выполненных операциях Извлекает список 100 лучших партий на основе количества полученных запросов по категориям. Этот запрос можно изменить, чтобы отслеживать тенденцию использования для конкретной стороны.

Все приведенные выше запросы можно использовать в качестве базовых запросов для формирования пользовательских запросов в рабочей области log analytics. Этот список запросов также можно получить на вкладке Logs в ресурсе Azure Data Manager for Agriculture в портале Azure.

Следующие шаги

Узнайте, как настроить приватные ссылки.