Ativar o registo de diagnóstico para o Microsoft Foundry

Este artigo fornece instruções passo a passo para ativar o registo de diagnóstico para um recurso do Microsoft Foundry. Estes registos fornecem dados ricos e frequentes sobre o funcionamento de um recurso que pode usar para identificação de problemas e depuração. Antes de continuar, deve ter uma conta no Azure com subscrição de pelo menos um recurso da Microsoft Foundry.

Pré-requisitos

Para habilitar o log de diagnóstico, você precisa selecionar um local para armazenar seus dados de log. Este tutorial usa o Armazenamento do Azure e o Log Analytics.

  • Armazenamento do Azure - Retém logs de diagnóstico para auditoria de política, análise estática ou backup. A conta de armazenamento não precisa de estar na mesma subscrição que o recurso que emite os registos, desde que o utilizador que configura a definição tenha o acesso adequado ao controlo de acesso baseado em funções (RBAC) do Azure em ambas as subscrições.
  • Log Analytics - Uma ferramenta flexível de pesquisa e análise de logs que pode usar para analisar logs brutos gerados por um recurso Azure.

Note

Ativar a recolha de registos de diagnóstico

Comece por ativar o registo de diagnóstico usando o portal Azure.

Note

Para ativar esta funcionalidade usando o PowerShell ou a CLI do Azure, veja Recolher e consumir dados de registo dos seus recursos do Azure.

  1. Vai para o portal Azure. Depois localiza e seleciona um recurso da Microsoft Foundry.
  2. Em seguida, no menu de navegação à esquerda, localize Monitoramento e selecione Configurações de diagnóstico. Esta tela contém todas as configurações de diagnóstico criadas anteriormente para este recurso.
  3. Se houver uma definição de diagnóstico previamente criada que queiras usar, seleciona-a agora. Caso contrário, selecione + Adicionar definição de diagnóstico.
  4. Introduza um nome para a configuração. Em seguida, selecione Arquivar em uma conta de armazenamento e Enviar para registrar o Analytics.
  5. Quando solicitado para configurar, selecione a conta de armazenamento e o espaço de trabalho OMS que pretende usar para armazenar os seus registos de diagnóstico.

    Note

    Se não tiver uma conta de armazenamento ou um espaço de trabalho OMS, siga as instruções para criar um.

  6. Selecione Registos de Auditoria, Registos de Pedidos e Respostas, Utilização de Pedidos do OpenAI no Azure e AllMetrics. Para uma descrição de cada categoria de registo disponível, consulte a referência de dados de monitorização Azure OpenAI.
  7. Selecione Guardar.

Pode levar até duas horas até que os dados de registro estejam disponíveis para consulta e análise, então não se preocupe se você não vir nada imediatamente.

Ver registos no Armazenamento do Azure

Quando encaminha registos de diagnóstico para uma conta de armazenamento, o Azure Monitor escreve os registos emitidos como blobs em JSON. Cada categoria de logarítems é armazenada no seu próprio contentor nomeado insights-logs-<category> (por exemplo, insights-logs-audit ou insights-logs-requestresponse).

  1. No portal Azure, localize o recurso Armazenamento do Azure que selecionou quando ativou as definições de diagnóstico.
  2. No menu de navegação à esquerda, localize Armazenamento de Dados e selecione Contentores.
  3. Selecione o insights-logs-<category> container da categoria de registos que pretende analisar, como insights-logs-requestresponse.
  4. Aprofunda o caminho do blob para encontrar os registos do teu recurso e janela temporal. Os blobs estão organizados por ID de recurso e carimbo temporal, por exemplo: resourceId=/SUBSCRIPTIONS/.../PROVIDERS/MICROSOFT.COGNITIVESERVICES/ACCOUNTS/<resource-name>/y=<year>/m=<month>/d=<day>/h=<hour>/m=00/PT1H.json.
  5. Selecione o blob PT1H.json e, em seguida, selecione Transferir para o guardar. Cada blob contém JSON delimitado por linhas, onde cada linha é um único registo logarítmico.

Para saber mais sobre como os registos de diagnóstico são armazenados, consulte os registos de recursos do Azure. Para saber o que pode fazer com dados de blob no Armazenamento do Azure, veja Armazenamento do Azure.

Ver registos no Log Analytics

Siga estas instruções para explorar os dados de análise de log para o seu recurso.

  1. No portal do Azure, localize e selecione Log Analytics no menu de navegação à esquerda.
  2. Localize e selecione o recurso que você criou ao habilitar o diagnóstico.
  3. Em Geral, localize e selecione Logs. Nesta página, você pode executar consultas em seus logs.

Exemplos de consultas

Aqui estão algumas consultas Kusto básicas que você pode usar para explorar seus dados de log.

Execute esta consulta para todos os registos de diagnóstico do seu recurso Microsoft Foundry durante um período de tempo especificado:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.COGNITIVESERVICES"

Execute esta consulta para medir a latência do pedido por código de resposta, incluindo os percentis P50, P90, P95 e P99:

AzureDiagnostics
| where TimeGenerated between (todatetime('<StartDateTime>') .. todatetime('<EndDateTime>'))
| where ResourceId has "<YourResourceID>"
| where Category == "RequestResponse"
| project TimeGenerated, ResponseCode = ResultSignature, DurationMs, OperationName
| summarize
    RequestCount = count(),
    P50 = percentile(DurationMs, 50),
    P90 = percentile(DurationMs, 90),
    P95 = percentile(DurationMs, 95),
    P99 = percentile(DurationMs, 99)
    by ResponseCode, OperationName
| order by RequestCount desc

Execute esta consulta para medir a contagem de pedidos pelo código de resposta:

AzureDiagnostics
| where TimeGenerated between (todatetime('<StartDateTime>') .. todatetime('<EndDateTime>'))
| where ResourceId has "<YourResourceID>"
| where Category == "RequestResponse"
| project TimeGenerated, ResponseCode = ResultSignature
| summarize RequestCount = count() by ResponseCode
| order by RequestCount desc

Execute esta consulta para ver todas as métricas emitidas:

AzureMetrics
| where TimeGenerated between (todatetime('<StartDateTime>') .. todatetime('<EndDateTime>'))
| project MetricName, Total, Count, Maximum, Minimum, Average, TimeGrain, UnitName

Passos seguintes