Compartilhar via


Analisar logs de diagnóstico do Calendário para caixas de correio do Exchange Online

Para ajudar a diagnosticar problemas de reunião para caixas de correio do Exchange Online, você pode analisar CDLs (logs de diagnóstico de calendário). Para obter as CDLs de uma reunião, consulte Obter logs de diagnóstico de calendário para caixas postais do Exchange Online.

As seções a seguir orientam você pelo processo de análise.

Pré-requisitos

Use o script Get-CalendarDiagnosticObjectsSummary.ps1 para gerar o seguinte arquivo do Microsoft Excel para uma reunião:

CalLogSummary_<ID de reunião curta.xlsx>

O arquivo deve conter o seguinte conjunto de planilhas para cada participante da chave:

  • <participant SMTP address>_TimeLine: Contém a linha do tempo
  • <participant SMTP address>: Contém os CDLs aprimorados
  • <participant SMTP address>_Raw: Contém os CDLs brutos

Observação

  • O script baixa e processa as CDLs brutas para fornecer CDLs aprimoradas e um cronograma conciso das ações da reunião.
  • A análise de CDL bruta está fora do escopo deste artigo.

Analisar a linha do tempo das ações de reunião

As linhas superiores da planilha da linha do tempo para um participante fornecem informações gerais da reunião, como a ID da reunião, o assunto e o organizador. Essas linhas são seguidas por um resumo de alto nível, com carimbo de data/hora, das ações da reunião relacionadas ao participante. Você pode usar a linha do tempo para solucionar problemas básicos de reunião.

Por exemplo, considere um cenário no qual você deseja saber quem cancelou uma reunião. Na captura de tela a seguir, a planilha da linha do tempo de um delegado mostra que o delegado cancelou a reunião no Outlook na Web.

Captura de tela de uma planilha de linha do tempo para um delegado.

Observação

Cada entrada numerada na linha do tempo corresponde a uma linha na planilha da CDL bruta. Os números pulados correspondem a linhas de CDL brutas que têm ações de reunião que podem ser ignoradas.

Na captura de tela a seguir, a planilha da linha do tempo de um usuário mostra que o usuário excluiu a reunião no Outlook.

Captura de tela de uma planilha de linha do tempo para um usuário.

Analisar CDLs aprimoradas

As CDLs aprimoradas para um participante fornecem um registro detalhado das ações de reunião relacionadas ao participante. Embora a planilha da CDL aprimorada contenha as mesmas ações de reunião na mesma ordem que a planilha da CDL bruta, ela tem as seguintes vantagens:

  • Os cabeçalhos de coluna têm filtros que você pode usar para ocultar ações de reunião não relevantes. Ao filtrar, você pode reduzir significativamente o número de entradas que você analisa.

  • A planilha tem novas colunas que adicionam informações a cada ação de reunião. Por exemplo:

    • Uma coluna LogType que categoriza cada ação de reunião. Se você filtrar nesta coluna, poderá ocultar todas as ações de reunião rotuladas como ignoráveis, como algumas ações do sistema ou ações de limpeza.

    • Uma coluna FreeBusy que fornece o status de disponibilidade da reunião após cada registro de log.

    • Uma coluna ResponsibleUser que especifica qual usuário ou componente é responsável pela ação de reunião.

Colunas aprimoradas de uma planilha CDL

A tabela a seguir descreve cada coluna na planilha da CDL aprimorada da esquerda para a direita. Os nomes de coluna que têm asteriscos indicam dados de diagnóstico importantes.

Descrição da coluna
LogRow Valores de linha que correspondem aos números de linha na planilha bruta de CDL, mas são deslocados por um devido ao cabeçalho da planilha bruta de CDL.
LogTimestamp Data e hora UTC em que a ação da reunião foi registrada.
LogType* Tipo de ação de reunião:
  • Core: uma ação importante em uma reunião.
  • Ignorable: uma ação de rotina do sistema que você pode ignorar. Por exemplo, uma ação de reunião executada por um EBA (assistente baseado em eventos) da Microsoft ou um TBA (assistente baseado em tempo).
  • Cleanup: uma ação de manutenção de rotina que você pode ignorar. Por exemplo, uma ação automática do Outlook que exclui uma resposta de reunião.
SubjectProperty* Assunto da reunião
Cliente* Nome curto do cliente que executou a ação em um item de calendário. Por exemplo:
  • Outlook : Desktop : MAPI: um usuário usou o cliente da área de trabalho do Outlook para executar a ação de reunião.
  • OWA-ModernCalendarSharing: um usuário usou o aplicativo Web do Outlook para executar a ação de reunião.
  • Other EBA: Um EBA executou a ação da reunião.
  • Transport: a ação da reunião ocorreu enquanto o item do calendário estava em transporte.
LogClientInfoString Nome longo do cliente que executou a ação em um item de calendário.
TriggerAction* Ação upstream que disparou a ação de reunião, como:
  • Create: um usuário cria um item de calendário.
  • Update: um usuário atualiza um item de calendário.
  • Move: um usuário move um item de calendário para uma pasta diferente do Outlook.
  • MoveToDeletedItems: um usuário move um item de calendário para a pasta Itens Excluídos no Outlook.
  • SoftDelete: um usuário remove temporariamente um item de calendário.
  • HardDelete: um usuário exclui um item de calendário.
As ações de gatilho ocorrem frequentemente em pares, separados por alguns segundos. Por exemplo:
  • Um Create gatilho para uma reunião geralmente é seguido por um Create ou Update gatilho em um IPM.Appointment item de reunião.
  • Uma Create ação de gatilho para uma aceitação geralmente é seguida por uma Update ação de gatilho em um IPM.Appointment item de reunião para definir seu status livre/ocupado como Busy.
  • Uma Transport ação de gatilho que ocorre quando um participante envia uma resposta de solicitação de reunião geralmente é seguida por uma Update ação de gatilho em um IPM.Appointment item de reunião.
ItemClass* Classe do item de calendário, como:
  • IPM.Appointment: item de reunião.
  • IPM.Schedule.Meeting.Request: item de solicitação de reunião.
  • IPM.Schedule.Meeting.Canceled: item de cancelamento da reunião. Para essa classe de item, somente a Create ação de gatilho é de interesse.
  • IPM.Schedule.Meeting.Notification.Forward: item de notificação de encaminhamento de reunião gerado quando uma reunião é encaminhada para um novo usuário. Para essa classe de item, somente a Create ação de gatilho é de interesse.
  • IPM.Schedule.Meeting.Resp.Pos: item de resposta de reunião aceito. Para essa classe de item, somente a Create ação de gatilho é de interesse.
  • IPM.Schedule.Meeting.Resp.Tent: item de resposta provisória de reunião. Para essa classe de item, somente a Create ação de gatilho é de interesse.
  • IPM.Schedule.Meeting.Resp.Neg: item de resposta de reunião recusado. Para essa classe de item, somente a Create ação de gatilho é de interesse.
Observação: a menos que você esteja resolvendo um problema de rastreamento de respostas, você pode ignorar as classes de item de IPM.Schedule.Meeting.Resp.Pos/Tent/Neg.
Seq:Exp:ItemVersion Valor composto que consiste em:
  • AppointmentSequenceNumber: número de sequência de um compromisso ou reunião. Atualizado sobre as principais alterações na hora, data ou localização.
  • ExceptionNumber: número de sequência de uma exceção.
  • ItemVersion: versão do item de calendário.
Organizador* Endereço de email do organizador de um compromisso ou reunião. Para uma resposta de reunião, o organizador é o usuário que enviou a resposta.
De Endereço SMTP do organizador de um compromisso ou reunião.
FreeBusyStatus O status gratuito/ocupado de um item de calendário, como:
  • Free
  • Busy
  • Tentative
  • Out of office
ResponsibleUser* Usuário ou componente responsável pela ação de reunião.
Remetente Endereço SMTP do remetente do item de calendário.
LogFolder Pasta de caixa de correio na qual a entrada de log foi encontrada. Normalmente, você pode ignorar essa coluna.
Observação: as entradas de log na pasta Log do Calendário são removidas após 31 dias.
OriginalLogFolder Pasta de caixa de correio à qual o item do calendário foi entregue originalmente.
SharedFolderName
  • Se a pasta for compartilhada, o valor será o nome do proprietário da pasta.
  • Se a pasta não for compartilhada, o valor será Not Shared.
IsFromSharedCalendar Valor booliano que indica se o item de calendário é de um calendário compartilhado.
ExternalSharingMasterId Identificador exclusivo do item de calendário mestre que é compartilhado externamente. Se a entrada CDL for de outra caixa de correio, o valor será NotFound.
RecebidoPor Endereço de email do destinatário do item do calendário ou um valor em branco. Normalmente, você pode ignorar essa coluna.
ReceivedRepresenting Endereço de email do delegado que recebeu o item de calendário em nome do destinatário.
MeetingRequestType Tipo de solicitação de reunião, como:
  • NewMeetingRequest
  • FullUpdate
  • InformationalUpdate
  • Response
StartTime* Hora de início da reunião.
EndTime Hora de término da reunião.
OriginalStartDate Data de início original da reunião. A menos que uma reunião seja reagendada, o valor estará em branco.
Fuso horário Fuso horário da reunião.
Localidade Local da reunião.
CalendarItemType Tipo de item de calendário, como:
  • Single: item de calendário não recorrente.
  • Occurrence: item de calendário recorrente.
  • RecurringMaster: pai de um conjunto de itens de calendário recorrentes.
IsException Valor booliano que indica se o item de calendário é uma exceção a uma série de calendários recorrente.
RecurrencePattern Frequência de recorrência do item de calendário, como:
  • DailyRecurrence: frequência de recorrência em dias.
  • WeeklyRecurrence: frequência de recorrência em semanas e dias.
  • RelativeMonthlyRecurrence: padrão de recorrência mensal relativo.
  • AbsoluteYearlyRecurrence: padrão de recorrência anual.
Se o item de calendário não for recorrente, o valor estará em branco.
AppointmentAuxiliaryFlags Conjunto de sinalizadores que fornecem informações adicionais sobre o compromisso ou a reunião. Se nenhuma bandeira se aplicar, o valor estará em branco.
ExibirTodosOsParticipantes Lista de participantes para uma solicitação de reunião. Para outros itens de calendário, o valor é NotFound.
AttendeeCount Número de participantes.
AppointmentState Valor composto de situações de compromisso ou reunião, tais como:
  • Meeting
  • Received
  • Cancelled
Por exemplo, o valor pode ser Meeting, Cancelled para indicar que uma reunião foi cancelada.
ResponseType* Tipo de resposta do participante, como:
  • None
  • Organizer
  • Tentative
  • Accept
  • Decline
  • NotResponded
ClientIntent Intenção do aplicativo cliente que executou a ação que disparou a entrada de log, como:
  • None
  • MeetingMessageDelivery
O valor especifica apenas algumas intenções e geralmente está em branco.
AppointmentRecurring Valor booliano que indica se o compromisso ou reunião é recorrente.
HasAttachment Valor booliano que indica se o item de calendário tem anexos.
IsCancelled Valor booliano que indica se o item do calendário foi cancelado.
IsAllDayEvent Valor booliano que indica se o item de calendário é um evento durante todo o dia.
IsSeriesCancelled Valor booliano que indica se a série inteira do item de calendário recorrente é cancelada. Para itens de calendário não recorrentes, o valor está em branco.
SendMeetingMessagesDiagnostics Valor composto que fornece métricas de alteração de reunião que você pode usar para diagnosticar por que uma atualização de reunião não foi enviada a todos os participantes da reunião. Por exemplo, considere o seguinte valor:
RID=194b9d80-3a78-732c-3365-26041d4e76ec;SMMM=2;OAC=4;NAC=;AC=False;IIOM=;PC=4(Item.Body,Item.Subject)
Nesse exemplo, as métricas significativas são:
  • SMMM
    • 0: uma notificação de atualização de reunião não foi enviada a nenhum participante.
    • 1: uma notificação de atualização de reunião foi enviada apenas para participantes adicionados ou removidos.
    • 2: uma notificação de atualização de reunião foi enviada a todos os participantes.
  • OAC: número original de participantes da reunião.
  • NAC: novo número de participantes da reunião. Se o número estiver inalterado, o valor ficará em branco.
  • AC: valor booliano que indica se a lista de participantes foi alterada.
  • PC: número de propriedades de reunião que foram alteradas e uma lista parcial das propriedades alteradas. Propriedades alteradas como Item.Body ou Item.Subject são significativas o suficiente para disparar uma notificação de atualização de reunião gerada pelo sistema para todos os participantes.
Observação: algumas métricas podem estar em branco.
AttendeeCollection Lista de participantes e os detalhes de suas respostas, como:
  • Endereço de email do participante
  • Tipo de participante:
    • 0: Não especificado
    • 1:Necessário
    • 2:Opcional
    • 3:Recurso
  • Tipo de resposta do participante:
    • 0:Nenhum
    • 1:Organizador
    • 2: Provisório
    • 3: Aceitar
    • 4:Declinar
    • 5: não respondeu
  • Carimbo de data/hora UTC da resposta do participante
Se você não usar a opção -TrackingLogs ao executar o script Get-CalendarDiagnosticObjectsSummary.ps1, o valor estará em branco.
CalendarLogRequestId Identificador exclusivo da solicitação de log de calendário.
CleanGlobalObjectId ID de reunião imutável exclusiva.

Filtros de planilha de CDL aprimorados

Como as CDLs geralmente contêm uma grande quantidade de dados, recomendamos filtrar informações desnecessárias antes de começar a análise. Para filtrar uma CDL, siga estas etapas:

  1. Filtre a coluna LogType para mostrar apenas Core entradas.

  2. Filtre a coluna ItemClass para remover as seguintes entradas:

    • Meeting.Response
    • IPM.Schedule.Meeting.Notification.Forward
  3. Filtre a coluna LogTimestamp para remover entradas de log que estão fora do período de interesse.