Поделиться через


Анализ журналов диагностики календаря для почтовых ящиков Exchange Online

Чтобы диагностировать проблемы с собраниями для почтовых ящиков Exchange Online, можно проанализировать журналы диагностики календаря (CDLS). Чтобы получить cdLs для собрания, см. статью "Получение журналов диагностики календаря" для почтовых ящиков Exchange Online.

В следующих разделах описан процесс анализа.

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

Используйте скрипт Get-CalendarDiagnosticObjectsSummary.ps1, чтобы создать следующий файл Microsoft Excel для собрания:

<идентификатор> собрания CalLogSummary_short.xlsx

Файл должен содержать следующий набор листов для каждого ключевого участника:

  • <participant SMTP address>_TimeLine: содержит временную шкалу
  • <participant SMTP address>: содержит расширенные cdLs
  • <participant SMTP address>_Raw: содержит необработанные cdLs

Примечание.

  • Скрипт скачивает и обрабатывает необработанные cdLs, чтобы предоставить расширенные cdLs и краткую временную шкалу действий собрания.
  • Анализ необработанных CDL выходит за рамки этой статьи.

Анализ временной шкалы действий собрания

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

Например, рассмотрим сценарий, в котором вы хотите узнать, кто отменил собрание. На следующем снимке экрана лист временной шкалы делегата показывает, что делегат отменил собрание в Outlook в Интернете.

Снимок экрана: лист временной шкалы для делегата.

Примечание.

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

На следующем снимке экрана лист временной шкалы для пользователя показывает, что пользователь удалил собрание в Outlook.

Снимок экрана: лист временной шкалы для пользователя.

Анализ расширенных cdLs

Расширенные cdLs для участника предоставляют подробную запись действий собрания, связанных с участником. Хотя расширенный лист CDL содержит те же действия собрания в том же порядке, что и необработанный лист CDL, он имеет следующие преимущества:

  • Заголовки столбцов имеют фильтры, которые можно использовать для скрытия неустративных действий собрания. Отфильтровав, вы можете значительно сократить количество записей, которые вы просматриваете.

  • На листе есть новые столбцы, добавляющие сведения в каждое действие собрания. Например:

    • Столбец LogType, который классифицирует каждое действие собрания. Если вы фильтруете этот столбец, можно скрыть все действия собрания, помеченные как игнорируемые, например некоторые системные действия или действия очистки.

    • Столбец FreeBusy, предоставляющий состояние свободного и занятого собрания после каждого действия журнала.

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

Расширенные столбцы листа CDL

В следующей таблице описывается каждый столбец в расширенном листе CDL слева направо. Имена столбцов со звездочками указывают на важные диагностические данные.

Описание столбца
LogRow Значения строк, соответствующие номерам строк в необработанном листе CDL, но смещаются по одному из-за заголовка необработанного листа CDL.
LogTimestamp Дата и время, указанное в действии собрания в формате UTC.
LogType* Тип действия собрания:
  • Core: важное действие собрания.
  • Ignorable: обычное системное действие, которое можно игнорировать. Например, действие собрания, выполняемое помощником на основе событий Майкрософт (EBA) или помощником по времени (TBA).
  • Cleanup: обычное действие обслуживания, которое можно игнорировать. Например, автоматическое действие Outlook, которое удаляет ответ на собрание.
SubjectProperty* Тема собрания
Клиент* Короткое имя клиента, выполняющего действие в элементе календаря. Например:
  • Outlook : Desktop : MAPI: пользователь использовал классический клиент Outlook для выполнения действия собрания.
  • OWA-ModernCalendarSharing: пользователь использовал веб-приложение Outlook для выполнения действия собрания.
  • Other EBA: EBA выполнило действие собрания.
  • Transport: действие собрания произошло во время передачи элемента календаря.
LogClientInfoString Длинное имя клиента, выполняющего действие в элементе календаря.
TriggerAction* Вышестоящее действие, активировающее действие собрания, например:
  • Create: пользователь создает элемент календаря.
  • Update: пользователь обновляет элемент календаря.
  • Move: пользователь перемещает элемент календаря в другую папку Outlook.
  • MoveToDeletedItems: пользователь перемещает элемент календаря в папку "Удаленные элементы" в Outlook.
  • SoftDelete: пользователь обратимо удаляет элемент календаря.
  • HardDelete: пользователь жестко удаляет элемент календаря.
Действия триггера часто происходят в парах, разделенных несколькими секундами. Например:
  • Create За действием триггера для собрания обычно следует Create действие или Update действие триггера IPM.Appointment для элемента собрания.
  • Create Действие триггера для принятия обычно следует Update действие триггера для IPM.Appointment элемента собрания, чтобы задать его состояние Busy"свободная/занятая".
  • Transport Действие триггера, возникающее при отправке участником ответа на приглашение на собрание, обычно следует Update действие триггера IPM.Appointment для элемента собрания.
ItemClass* Класс элемента календаря, например:
  • IPM.Appointment: элемент собрания.
  • IPM.Schedule.Meeting.Request: элемент запроса на собрание.
  • IPM.Schedule.Meeting.Canceled: элемент отмены собрания. Для этого класса элементов интересен только Create действие триггера.
  • IPM.Schedule.Meeting.Notification.Forward: элемент уведомления пересылки собрания, созданный при переадресации собрания новому пользователю. Для этого класса элементов интересен только Create действие триггера.
  • IPM.Schedule.Meeting.Resp.Pos: принятый элемент ответа на собрание. Для этого класса элементов интересен только Create действие триггера.
  • IPM.Schedule.Meeting.Resp.Tent: предварительный элемент ответа на собрание. Для этого класса элементов интересен только Create действие триггера.
  • IPM.Schedule.Meeting.Resp.Neg: отклонен элемент ответа на собрание. Для этого класса элементов интересен только Create действие триггера.
Примечание. Если вы не устраняете проблему отслеживания ответов, можно игнорировать IPM.Schedule.Meeting.Resp.Pos/Tent/Neg классы элементов.
Seq:Exp:ItemVersion Составное значение, состоящее из следующих элементов:
  • AppointmentSequenceNumber: порядковый номер встречи или собрания. Обновлены основные изменения времени, даты или расположения.
  • ExceptionNumber: порядковый номер исключения.
  • ItemVersion: версия элемента календаря.
Организатор* Адрес электронной почты организатора встречи или собрания. Для ответа на собрание организатор — это пользователь, который ответил.
From SMTP-адрес организатора встречи или собрания.
FreeBusyStatus Состояние свободного или занятого элемента календаря, например:
  • Free
  • Busy
  • Tentative
  • Out of office
ResponsibleUser* Пользователь или компонент, отвечающий за действие собрания.
Отправитель SMTP-адрес отправителя элемента календаря.
LogFolder Папка почтового ящика, в которой найдена запись журнала. Как правило, этот столбец можно игнорировать.
Примечание. Записи журнала в папке "Ведение журнала календаря " удаляются через 31 дней.
OriginalLogFolder Папка почтового ящика, в которую изначально был доставлен элемент календаря.
SharedFolderName
  • Если папка предоставлена, это имя владельца папки.
  • Если папка не предоставлена, значение равно Not Shared.
IsFromSharedCalendar Логическое значение, указывающее, является ли элемент календаря общим календарем.
ExternalSharingMasterId Уникальный идентификатор главного элемента календаря, который предоставляется внешним образом. Если запись CDL находится из другого почтового ящика, значение равно NotFound.
ReceivedBy Адрес электронной почты получателя элемента календаря или пустое значение. Как правило, этот столбец можно игнорировать.
ReceivedRepresenting Адрес электронной почты делегата, который получил элемент календаря от имени получателя.
MeetingRequestType Тип запроса на собрание, например:
  • NewMeetingRequest
  • FullUpdate
  • InformationalUpdate
  • Response
StartTime* Время начала собрания.
EndTime Время окончания собрания.
OriginalStartDate Исходная дата начала собрания. Если собрание не перепланировано, значение пусто.
Часовой пояс Часовой пояс собрания.
Местонахождение Расположение собрания.
CalendarItemType Тип элемента календаря, например:
  • Single: элемент календаря nonrecurring.
  • Occurrence: повторяющийся элемент календаря.
  • RecurringMaster: родительский набор повторяющихся элементов календаря.
IsException Логическое значение, указывающее, является ли элемент календаря исключением для повторяющегося ряда календаря.
ПовторениеPattern Частота повторения элемента календаря, например:
  • DailyRecurrence: частота повторения в днях.
  • WeeklyRecurrence: частота повторения в неделях и днях.
  • RelativeMonthlyRecurrence: относительный ежемесячный шаблон повторения.
  • AbsoluteYearlyRecurrence: годовой шаблон повторения.
Если элемент календаря не выполняется, значение пусто.
AppointmentAuxiliaryFlags Набор флагов, которые предоставляют дополнительные сведения о встрече или собрании. Если флаги не применяются, значение пусто.
DisplayAttendeesAll Список участников для приглашения на собрание. Для других элементов календаря значение равно NotFound.
AttendeeCount Количество участников.
AppointmentState Составное значение состояний встречи или собрания, таких как:
  • Meeting
  • Received
  • Cancelled
Например, значение может указывать Meeting, Cancelled на то, что собрание было отменено.
ResponseType* Тип ответа участника, например:
  • None
  • Organizer
  • Tentative
  • Accept
  • Decline
  • NotResponded
ClientIntent Намерение клиентского приложения, выполняющего действие, которое активировало запись журнала, например:
  • None
  • MeetingMessageDelivery
Значение указывает только несколько намерений и часто является пустым.
AppointmentRecurring Логическое значение, указывающее, повторяется ли встреча или собрание.
HasAttachment Логическое значение, указывающее, имеет ли элемент календаря какие-либо вложения.
IsCancelled Логическое значение, указывающее, отменен ли элемент календаря.
IsAllDayEvent Логическое значение, указывающее, является ли элемент календаря событием всего дня.
IsSeriesCancelled Логическое значение, указывающее, отменен ли весь ряд повторяющегося элемента календаря. Для элементов календаря, не хранящееся в отчете, значение пусто.
SendMeetingMessagesDiagnostics Составное значение, предоставляющее метрики изменений собрания, которые можно использовать для диагностики того, почему обновление собрания не было отправлено всем участникам собрания. Например, рассмотрим следующее значение:
RID=194b9d80-3a78-732c-3365-26041d4e76ec;SMMM=2;OAC=4;NAC=;AC=False;IIOM=;PC=4(Item.Body,Item.Subject)
В этом примере важные метрики:
  • СММ
    • 0: уведомление об обновлении собрания не было отправлено участникам.
    • 1: уведомление об обновлении собрания было отправлено только добавленным или удаленным участникам.
    • 2: уведомление об обновлении собрания было отправлено всем участникам.
  • OAC: исходное число участников собрания.
  • NAC: новое число участников собрания. Если число не изменилось, значение пусто.
  • AC: логическое значение, указывающее, изменился ли список участников.
  • КОМПЬЮТЕР: количество измененных свойств собрания и частичный список измененных свойств. Измененные свойства, такие как Item.Body или Item.Subject достаточно важные для активации уведомления об обновлении собрания, созданного системой, для всех участников.
Примечание. Некоторые метрики могут быть пустыми.
AttendeeCollection Список участников и подробные сведения об их ответах, например:
  • Адрес электронной почты участника
  • Тип участника:
    • 0:Неопределенное
    • 1:Обязательно
    • 2Необязательно.
    • 3:Ресурс
  • Тип ответа участника:
    • 0:Никакой
    • 1:Организатор
    • 2:Предварительный
    • 3:Принимать
    • 4:Отклонять
    • 5: не ответил
  • Метка времени UTC ответа участника
Если параметр не используется -TrackingLogs при запуске скрипта Get-CalendarDiagnosticObjectsSummary.ps1, это значение пусто.
CalendarLogRequestId Уникальный идентификатор запроса журнала календаря.
CleanGlobalObjectId Уникальный неизменяемый идентификатор собрания.

Расширенные фильтры листа CDL

Так как cdLs часто содержат большой объем данных, рекомендуется отфильтровать ненужные сведения перед началом анализа. Чтобы отфильтровать CDL, выполните следующие действия.

  1. Отфильтруйте столбец LogType , чтобы отобразить Core только записи.

  2. Отфильтруйте столбец ItemClass , чтобы удалить следующие записи:

    • Meeting.Response
    • IPM.Schedule.Meeting.Notification.Forward
  3. Отфильтруйте столбец LogTimestamp , чтобы удалить записи журнала, которые находятся за пределами интересующего периода.