Compartilhar via


Rastreamento de eventos

Este artigo descreve como usar o rastreamento de eventos na Proteção contra Fraude do Microsoft Dynamics 365.

A funcionalidade rastreamento de eventos no Microsoft Dynamics 365 Fraud Protection permite estabelecer uma plataforma de telemetria em tempo real que é extensível e operacional fora do portal. Cada evento é agendado ou disparado por uma ação no nível de usuário ou do sistema. Você pode se inscrever em eventos nos quais está interessado e encaminhar as cargas úteis do evento para os Hubs de Eventos do Azure ou para o armazenamento de Blobs do Azure. Também é possível solicitar eventos de várias sessões de rastreamento de eventos ao mesmo tempo. O sistema, então, entrega os eventos em ordem cronológica.

Os eventos podem ser agregados e usados para definir métricas que você pode usar para monitorar e gerenciar seus custos e uso de serviço. Os eventos também podem ser usados para desenvolver relatórios personalizados que usam dados transacionais ou para manter logs do sistema para ações executadas no portal de Proteção contra Fraude (por exemplo, "usuário A editou a lista B na data C"). Ao usar os conectores dos Hubs de Eventos do Azure disponíveis no Microsoft Power Automate e nos Aplicativos Lógicos do Azure, você também pode usar os dados enviados aos Hubs de Eventos do Azure para alertas ou fluxos de trabalho altamente personalizados. Da mesma forma, com o armazenamento de Blobs do Azure, você pode criar uma nova assinatura que copia todos os dados históricos em sua conta de armazenamento frio para análise adicional.

Se sua instância de Proteção contra Fraude tiver vários ambientes, você poderá encontrar o rastreamento de eventos para cada ambiente usando o alternador de ambiente. Se o ambiente tiver ambientes filho, o rastreamento de eventos inscrito para o ambiente pai incluirá automaticamente os mesmos eventos para todos os ambientes filho.

Observação

Os clientes de rastreamento de eventos devem ter uma assinatura de serviços adicionais do Azure, como Hub de Eventos ou armazenamento de Blobs. Entre em contato com seu executivo de conta da Microsoft para obter detalhes. Se você tiver credenciais de administrador global do Azure, entre no portal do Azure para determinar as assinaturas disponíveis.

Introdução

Para começar a usar a funcionalidade de rastreamento de eventos, siga estas etapas.

  1. No portal do Fraud Protection, selecione Dados e, em seguida, selecione Rastreamento de Eventos.

  2. Selecione Nova assinatura.

  3. Digite um nome de exibição da subscrição.

  4. Selecione um local de armazenamento:

    1. Para hubs de eventos: insira a cadeia de conexão para a instância Hubs de Eventos no Azure Key Vault. O Azure Key Vault deve residir no mesmo locatário da sua assinatura do Fraud Protection. Conceda a permissão Obter Acesso ao Segredo ao aplicativo Fraud Protection no Azure Key Vault. Insira a URL do Identificador do Segredo do seu Azure Key Vault no portal do Fraud Protection. Para obter mais informações, consulte Obter uma cadeia de conexão de Hubs de Eventos.
    2. Para o Armazenamento de Blobs: insira a cadeia de conexão da conta do Armazenamento de Blobs do Azure. O Azure Key Vault deve residir no mesmo locatário da sua assinatura do Fraud Protection. Conceda a permissão Obter Acesso ao Segredo ao aplicativo Fraud Protection no Azure Key Vault. No portal Proteção contra Fraudes, insira a URL do identificador secreto do Cofre de Chaves do Azure e um nome de contêiner onde residem os dados de rastreamento de eventos. Para saber mais, consulte Exibir chaves de acesso da conta.
  5. Selecione Testar conexão. Depois que a conexão for testada com êxito, as informações relacionadas à conta que foram extraídas da cadeia de conexão no Cofre de Chaves do Azure serão exibidas. Para Hubs de Eventos do Azure, essas informações somente leitura incluem o Namespace do Hub de Eventos e o Nome do Hub de Eventos. Para o Armazenamento de Blobs do Azure, o nome da conta de armazenamento é exibido. Verifique se essas informações correspondem à conta de armazenamento que você pretende usar. Sem um teste de conexão bem-sucedido, o botão Criar não está habilitado.

  6. Selecione um evento e revise a descrição e o conteúdo JSON de exemplo. Em seguida, salve a assinatura selecionando Criar. Os eventos são enviados instantaneamente para sua instância do Hubs de Eventos a partir desse momento. Se você selecionou Armazenamento de Blobs, o processo de cópia para gravar todos os dados históricos começará e todos os eventos serão publicados em seu contêiner a cada 30 minutos.

  7. Volte ao portal do Fraud Protection para exibir a contagem da métrica Eventos/H e verifique se os dados estão sendo enviados para os Hubs de Eventos. As métricas Eventos/H e Falhas/H mostram uma média das últimas 24 horas.

    Dica

    Para obter monitoramento adicional para Hubs de eventos, vá para o portal do Azure e configure as métricas. Para obter mais informações, consulte Métricas de Hubs de Eventos do Azure no Azure Monitor.

  8. Opcional: configure seu próprio pipeline de entrada dos Hubs de Eventos para o Power BI. Para obter informações sobre como começar a desenvolver relatórios personalizados, consulte Trabalhar com o Power BI.

  9. Opcional: conecte os Hubs de Eventos do Power Automate para definir os fluxos de trabalho personalizados. Para obter mais informações, consulte Trabalhar com aplicativos lógicos ou o Power Automate.

Esquemas de eventos

Cinco classificações de eventos com suporte estão disponíveis no momento no rastreamento de eventos: eventos transacionais, eventos de rastreamento, eventos de avaliação, eventos de auditoria e eventos de monitoramento.

Eventos transacionais

Use eventos transacionais para criar scorecards personalizados e fluxos de trabalho automatizados usando os dados disponíveis em suas chamadas de API de avaliação e não avaliação. Usando o armazenamento de Blobs, você também pode copiar os dados de chamadas à API históricas para criar um data warehouse para sua empresa. A carga deste evento inclui toda a solicitação e a resposta para cada chamada à API.

Namespace: FraudProtection.Observe.<API Name> ou FraudProtection.Assessment.<API Name>
{
    "uniqueId": "unique event id and used to deduplicate events",
    "request": {
        //API request payload
    },
    "response": {
        //API response payload
    },
    "name": "FraudProtection.Observe.AccountLabel",
    "version": "1.0",
    "metadata": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-09-25T03:46:53.3716978Z"
    }
}

Eventos de rastreamento

Use os eventos de rastreamento para relatar e monitorar o desempenho de todas as regras que incluam o tipo de retorno Trace(). O conteúdo deste evento inclui campos padronizados como o nome da regra que desencadeou o evento, o tipo de evento que está correlacionado ao tipo de avaliação dessa regra, a ID de correlação etc. Você pode enviar atributos personalizados usando pares chave/valor no tipo de retorno Trace() para incluir variáveis do conteúdo de exemplo, a pontuação de risco e os campos personalizados. Para obter mais informações sobre como usar o Trace() em regras para disparar esses eventos, consulte Funções de observação na Guia de linguagem de regras.

Namespace: FraudProtection.Trace.Rule.
{
    "name": "FraudProtection.Trace.Rule",
    "version": "1.0",
    "metadata":
{
    "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "timestamp": "2020-06-10T23:43:33.4526859Z" 
}
    "ruleName": "Risk Score Policy",
    "eventType": "Purchase",
    "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
    "eventId": "e75e703c-1e54-4d41-af4b-a4c1b8866f02",
    "attributes":
{
      "example": "ManualReview” //key:value pairs defined in the Trace() return type
} 

    }

Eventos de avaliação

Os eventos de avaliação, o rótulo associado e os eventos de observação podem ser rastreados para os hubs de eventos e para os blobs.

Namespace: FraudProtection.Assessments.
{
    "request": "",
    "response": "",
    "eventId": "uniqueId",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}
Namespace: FraudProtection.CaseManagement.Events.

Status da decisão de gerenciamento de casos e rótulos feitos a partir do Gerenciamento de casos.

{
	"name": "FraudProtection.CaseManagement.Events",
	"version": "1.0",
	"metadata": {
		"tenantId": "<your tenantID>",
		"timestamp": "2020-09-25T03:46:53.3716978Z"
	},
	"assessmentId": "<your assessment uniqueId>",
	"assessmentName": "<your assessment name>",
	"caseId": "uniqueId of the case record",
	"queueId": "uniqueId of the queue the case was routed to",
	"queueName": "name of the queue the case was routed to",
	"eventType": "<your assessment uniqueId>",
	"eventId": "<your assessment transaction uniqueId>",
	"creationDate": "creation datetime",
	"reviewStartDate": "review start datetime",
	"reviewedDate": "reviewed datetime",
	"decision": "decision of the review agent",
	"reason": "decision reason",
	"reasonNote": "decision note",
	"agentId": "uniqueId of the review agent",
	"agentName": "name of the review agent",
	"status": "status of the decision",
	"fraudFlag": "fraud flag (label) of the decision"
}
Namespace: FraudProtection.Observations.
{
    "request": "",
    "primaryEventId": "<assessment event id>",
    "observationApiName": "<your observation api name>",
    "observationName": "<your observation name>",
    "observationEventId": "<your observation event id>",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}
Namespace: FraudProtection.Labels.
{
    "request": "",
    "labelEventId": "",
    "assessmentApiName": "<your assessment api name>",
    "assessmentName": "<your assessment name>"
}

Eventos de auditoria

Use eventos de auditoria para controlar ações do portal e desenvolver um log de auditoria. Os eventos de auditoria dão suporte atualmente a novas operações de edição/exclusão em regras, listas, velocidades e chamadas externas.

Namespace: FraudProtection.Audit.
"audit": {
    "entityId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "entityName": "Manual Review Rule",
    "entityType": "Rule",
    "operationName": "NewRule",
    "userId": "user@contoso.com"
},
"name": "FraudProtection.Audit",
"version": "1.0",
"metadata": {
    "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "timestamp": "2020-06-10T23:43:33.4526859Z"
}

Acesso de log de auditoria

Há duas maneiras de acessar logs de auditoria. Você pode configurar o rastreamento de eventos ou solicitar que um log de auditoria gerado automaticamente seja enviado criando um tíquete de suporte ao cliente. Se você optar por não usar o rastreamento de eventos e, em vez disso, enviar um tíquete de suporte, esse tíquete será roteado para a equipe de engenharia do Fraud Protection. A equipe extrai os logs e os fornece novamente a você. Os logs de auditoria são capturados e armazenados na mesma região geográfica em que você provisiona um ambiente. Os logs não podem ser editados depois de capturados e o período de retenção de logs é de 365 dias. Os logs com mais de 365 dias são excluídos automaticamente.

Há cinco eventos gerados que podem ser rastreados usando os logs de auditoria. Esses eventos são:

  • Um usuário é atribuído a uma função do Fraud Protection pela primeira vez.
  • A função de um usuário existente é atualizada.
  • Todas as atribuições de funções são removidas para um usuário específico.
  • Um usuário aceita o consentimento FCRA.
  • Um usuário atualiza as configurações do serviço de aceleração de aceitação (TAB). Qualquer alteração nessas configurações é considerada uma atualização.

Eventos de logs de atividade

Use eventos de registros de atividades para obter registros detalhados de quem fez o quê, quando e onde para algumas ações na Proteção contra fraudes. Por exemplo, você pode ver quem fez a última alteração em uma regra. Os resultados correspondem aos resultados da pesquisa de logs de atividade.

Namespace: FraudProtection.ActivityLog.
{
"eventId": "0c6e1948-75a9-4513-bb4c-4828c9a8ab05",
"operationType": "Create",
"resourceType": "Decision rule",
"resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
"resourceName": "Rule Test",
"userId": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
}

O "userID" é seguido por campos de operação e tipo de recurso específico.

Eventos de monitoramento

Você pode usar eventos de monitoramento para relatórios personalizados e alertas sobre o desempenho de sua API e chamadas externas com os relatórios disponíveis no portal de Proteção contra Fraudes. Cada um dos eventos abaixo fornece informações sobre a latência e os erros de cada serviço.

Namespace: FraudProtection.Monitoring.RequestLatencyMsDistribution.

Para chamadas de API, contagens de solicitações e distribuições de latência (em ms) são enviadas a cada 20 segundos neste evento. Esses eventos incluem os campos startTime e endTime, que determinam o período de agregação e os nomes e valores de dimensão que podem ser usados para filtrar as métricas conforme necessário.


{
"Index": [
             1
],
"BucketSamples": [
             2
],
"NumberOfBuckets": 10000,
"BucketSize": 10,
"MinimumValue": 0,
"CounterName": "RequestLatencyMsDistribution",
"DimensionNames": [
   "EnvironmentId",
   "TenantId",
   "ApiName",
   "ExperienceType",
   "IsTestRequest",
   "RequestType",
   "HttpRequestStatus",
   "HttpStatusCode"
],
"DimensionValues": [
   "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "v1.0/Observe/Create",
   "N/A",
   "False",
   "REALTIME",
   "Success",
   "200"
],
"StartTime": "2020-06-22T23:43:20",
"EndTime": "2020-06-22T23:43:40",
"Samples": 2,
"Min": 3,
"Max": 7,
"name": "FraudProtection.Monitoring.RequestLatencyMsDistribution",
"version": "1.0",
"metadata": {
   "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
   "timestamp": "2020-06-22T23:43:20.0947542Z"
}
}

O campo Amostras representa a contagem de solicitações por API.

Namespace: FraudProtection.Monitoring.ExternalCalls

Esse evento inclui a latência (em ms) e o código de status HTTP de cada chamada externa<link para doc de chamada externa> disparada de uma regra. As dimensões adicionais para a regra e a cláusula que dispara a chamada também são fornecidas.

Para chamadas externas, a latência (em ms) e as métricas de código de status http são enviadas com cada solicitação neste evento. As dimensões adicionais da regra que disparam a chamada também serão fornecidas para melhorar a experiência de solução de problemas se você tiver interesse em investigar o desempenho de uma chamada individual.


{
    "name": "FraudProtection.Monitoring.ExternalCalls",
    "version": "1.0",
    "metadata": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-06-10T23:43:33.4526859Z"
    },
    "externalCallName": "SampleExternalCall",
    "requestStatus": "Success",
    "httpStatusCode": 200,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "latencyMs": 123,
    "assessment": "PURCHASE",
    "rule": "SampleRule",
    "clause": "SampleClause"
}

Namespace: FraudProtection.Errors.ExternalCalls

Esse evento registra erros para cada chamada externa com falha e pode ser útil para depurar problemas encontrados no desempenho de chamada externa. A solicitação e a resposta completas para a chamada são registradas, bem como a latência e a regra e cláusula das quais a chamada foi acionada.


{
    "name": "FraudProtection.Errors.ExternalCalls",
    "version": "1.0",
    "metadata": {
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "timestamp": "2020-06-10T23:43:33.4526859Z"
    },
    "externalCallName": "SampleExternalCall",
    "requestStatus": "ResponseFailure",
    "httpStatusCode": 404,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "latencyMs": 123,
    "assessment": "PURCHASE",
    "rule": "SampleRule",
    "clause": "SampleClause",
    "response": "{}",
    "requestUri": "https://samplewebsite/sample",
    "requestBody": "{}"
}