Logs de diagnóstico - Rede de Entrega de Conteúdo do Azure
Importante
O Azure CDN Standard da Microsoft (clássico) será desativado em 30 de setembro de 2027. Para evitar qualquer interrupção do serviço, é importante migrar o Azure CDN Standard dos perfis Microsoft (clássicos) para o Azure Front Door Standard ou Premium até 30 de setembro de 2027. Para obter mais informações, consulte Azure CDN Standard da aposentadoria (clássica) da Microsoft.
A CDN do Azure de Edgio será aposentada em 15 de janeiro de 2025. Você deve migrar sua carga de trabalho para o Azure Front Door antes dessa data para evitar a interrupção do serviço. Para obter mais informações, consulte CDN do Azure das Perguntas frequentes sobre aposentadoria do Edgio.
Com os logs de diagnóstico do Azure, você pode exibir as principais análises e salvá-las em um ou mais destinos, incluindo:
- Conta de armazenamento do Azure
- Área de trabalho do Log Analytics
- Hubs de Eventos do Azure
Esse recurso está disponível em pontos de extremidade de rede de entrega de conteúdo para todos os níveis de preço.
Os logs de diagnóstico permitem exportar métricas básicas de uso do ponto de extremidade da rede de entrega de conteúdo para diferentes tipos de fontes, para que você possa consumi-las de forma personalizada. Você pode fazer os seguintes tipos de exportação de dados:
- Exporte dados para armazenamento de blobs, exporte para CSV e gere gráficos no Excel.
- Exporte dados para Hubs de Eventos e correlacione com dados de outros serviços do Azure.
- Exportar dados para logs do Azure Monitor e exibir dados em seu próprio espaço de trabalho do Log Analytics
Um perfil da Rede de Entrega de Conteúdo do Azure é necessário para as etapas a seguir. Consulte Criar um perfil e um ponto de extremidade da Rede de Entrega de Conteúdo do Azure antes de continuar.
Ativar o registo com o portal do Azure
Siga estas etapas para habilitar o registro em log para seu ponto de extremidade da Rede de Entrega de Conteúdo do Azure:
Inicie sessão no portal do Azure.
No portal do Azure, navegue até Todos os recursos>seu-cdn-profile.
Selecione o ponto de extremidade da rede de entrega de conteúdo para o qual você deseja habilitar os logs de diagnóstico:
Selecione Logs de diagnóstico na seção Monitoramento :
Habilitar o registro em log com o Armazenamento do Azure
Para utilizar uma conta de armazenamento para armazenar os registos, siga estes passos:
Nota
É necessária uma conta de armazenamento para concluir estas etapas. Consulte: Criar uma conta de Armazenamento do Azure para obter mais informações.
Em Nome da configuração de diagnóstico, insira um nome para as configurações de log de diagnóstico.
Selecione Arquivar em uma conta de armazenamento e, em seguida, selecione CoreAnalytics.
Em Retenção (dias), escolha o número de dias de retenção. Uma retenção de zero dias armazena os logs indefinidamente.
Selecione a conta de assinatura e armazenamento para os logs.
Selecione Guardar.
Enviar para o Log Analytics
Para usar o Log Analytics para os logs, siga estas etapas:
Nota
Um espaço de trabalho do Log Analytics é necessário para concluir essas etapas. Consulte: Criar um espaço de trabalho do Log Analytics no portal do Azure para obter mais informações.
Em Nome da configuração de diagnóstico, insira um nome para as configurações de log de diagnóstico.
Selecione Enviar para o Log Analytics e, em seguida, selecione CoreAnalytics.
Selecione a assinatura e o espaço de trabalho do Log Analytics para os logs.
Selecione Guardar.
Transmitir em fluxo para um hub de eventos
Para usar um hub de eventos para os logs, execute estas etapas:
Nota
Um hub de eventos é necessário para concluir essas etapas. Consulte Guia de início rápido: criar um hub de eventos usando o portal do Azure para obter mais informações.
Em Nome da configuração de diagnóstico, insira um nome para as configurações de log de diagnóstico.
Selecione Transmitir para um hub de eventos e, em seguida, selecione CoreAnalytics.
Selecione o namespace de hub de eventos e assinatura para os logs.
Selecione Guardar.
Ativar o registo com o PowerShell
O exemplo a seguir mostra como habilitar logs de diagnóstico por meio dos cmdlets do Azure PowerShell.
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
Habilitar logs de diagnóstico em uma conta de armazenamento
Entre no Azure PowerShell:
Connect-AzAccount
Para habilitar os Logs de Diagnóstico em uma conta de armazenamento, insira estes comandos. Substitua as variáveis pelos seus valores:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $storageacct = <your-storage-account-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint $storage = Get-AzStorageAccount -ResourceGroupName $rsg -Name $storageacct Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -StorageAccountId $storage.id -Enabled $true -Categories CoreAnalytics
Habilitar logs de diagnóstico para o espaço de trabalho do Log Analytics
Entre no Azure PowerShell:
Connect-AzAccount
Para habilitar os Logs de Diagnóstico para um espaço de trabalho do Log Analytics, insira estes comandos. Substitua as variáveis pelos seus valores:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $workspacename = <your-log-analytics-workspace-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint $workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $rsg -Name $workspacename Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -WorkspaceId $workspace.ResourceId -Enabled $true -Categories CoreAnalytics
Habilitar logs de diagnóstico para namespace do hub de eventos
Entre no Azure PowerShell:
Connect-AzAccount
Para habilitar os Logs de Diagnóstico para um espaço de trabalho do Log Analytics, insira estes comandos. Substitua as variáveis pelos seus valores:
$rsg = <your-resource-group-name> $cdnprofile = <your-cdn-profile-name> $cdnendpoint = <your-cdn-endpoint-name> $eventhubname = <your-event-hub-namespace-name> $diagname = <your-diagnostic-setting-name> $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -EventHubName $eventhubname -Enabled $true -Categories CoreAnalytics
Consumir registos de diagnóstico do Armazenamento do Microsoft Azure
Esta seção descreve o esquema de análise principal da rede de entrega de conteúdo, a organização em uma conta de Armazenamento do Azure e fornece código de exemplo para baixar os logs em um arquivo CSV.
Usando o Gerenciador de Armazenamento do Microsoft Azure
Para baixar a ferramenta, consulte Gerenciador de Armazenamento do Azure. Depois de baixar e instalar o software, configure-o para usar a mesma conta de Armazenamento do Azure que foi configurada como um destino para os Logs de Diagnóstico da rede de entrega de conteúdo.
- Abra o Gerenciador de Armazenamento do Microsoft Azure
- Localize a conta de armazenamento
- Expanda o nó Contêineres de Blob nesta conta de armazenamento.
- Selecione o contêiner chamado insights-logs-coreanalytics.
- Os resultados aparecem no painel direito, começando com o primeiro nível, como resourceId=. Continue selecionando cada nível até encontrar o arquivo PT1H.json. Para obter uma explicação do caminho, consulte Formato do caminho de Blob.
- Cada arquivo de PT1H.json de blob representa os logs de análise por uma hora para um ponto de extremidade específico da rede de entrega de conteúdo ou seu domínio personalizado.
- O esquema do conteúdo desse arquivo JSON é descrito no esquema de seção dos logs de análise principais.
Formato de caminho de blob
Os logs de análise principais são gerados a cada hora e os dados são coletados e armazenados dentro de um único blob do Azure como uma carga JSON útil. A ferramenta Storage Explorer interpreta '/' como um separador de diretório e mostra a hierarquia. O caminho para o blob do Azure aparece como se houvesse uma estrutura hierárquica e representa o nome do blob. O nome do blob segue a seguinte convenção de nomenclatura:
resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json
Descrição dos campos:
valor | Description |
---|---|
ID de Subscrição | ID da assinatura do Azure no formato GUID (identificador global exclusivo). |
Nome do Grupo de Recursos | Nome do grupo de recursos ao qual pertencem os recursos da rede de distribuição de conteúdo. |
Nome do Perfil | Nome do perfil da rede de distribuição de conteúdo |
Nome do ponto final | Nome do ponto de extremidade da rede de distribuição de conteúdo |
Anual | Representação de quatro dígitos do ano, por exemplo, 2017 |
Month | Representação de dois dígitos do número do mês. 01=janeiro ... 12=dezembro |
Dia | Representação de dois dígitos do dia do mês |
PT1H.json | Arquivo JSON real onde os dados de análise são armazenados |
Exportando os principais dados de análise para um arquivo CSV
Para acessar a análise principal, o código de exemplo para uma ferramenta é fornecido. Esta ferramenta permite baixar os arquivos JSON em um formato de arquivo simples separado por vírgula, que pode ser usado para criar gráficos ou outras agregações.
Veja como você pode usar a ferramenta:
- Visite o link do GitHub: https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv
- Faça o download do código.
- Siga as instruções para compilar e configurar.
- Execute a ferramenta.
- O arquivo CSV resultante mostra os dados de análise em uma hierarquia simples e simples.
Atrasos nos dados de registo
A tabela a seguir mostra atrasos de dados de log para o Azure CDN Standard da Microsoft e o Azure CDN Standard/Premium do Edgio.
Atrasos nos dados de log da Microsoft | Atrasos nos dados de log do Edgio |
---|---|
Atraso de 1 hora. | Atrasado em 1 hora e pode levar até 2 horas para começar a aparecer após a conclusão da propagação do ponto final. |
Tipos de log de diagnóstico para análise central da rede de entrega de conteúdo
Atualmente, a Microsoft oferece apenas logs de análise principais, que contêm métricas que mostram estatísticas de resposta HTTP e estatísticas de saída vistas dos POPs/bordas da rede de entrega de conteúdo.
Detalhes das principais métricas de análise
A tabela a seguir mostra uma lista de métricas disponíveis nos principais logs de análise para:
- Azure CDN Standard da Microsoft
- Azure CDN Standard/Premium da Edgio
Nem todas as métricas estão disponíveis de todos os provedores, embora essas diferenças sejam mínimas. A tabela também exibe se uma determinada métrica está disponível em um provedor. As métricas estão disponíveis apenas para os pontos de extremidade da rede de entrega de conteúdo que têm tráfego neles.
Métrico | Description | Microsoft | Edgio |
---|---|---|---|
RequestCountTotal | Número total de solicitações acertadas durante esse período. | Sim | Sim |
RequestCountHttpStatus2xx | Contagem de todas as solicitações que resultaram em um código HTTP 2xx (por exemplo, 200, 202). | Sim | Sim |
RequestCountHttpStatus3xx | Contagem de todas as solicitações que resultaram em um código HTTP 3xx (por exemplo, 300, 302). | Sim | Sim |
RequestCountHttpStatus4xx | Contagem de todas as solicitações que resultaram em um código HTTP 4xx (por exemplo, 400, 404). | Sim | Sim |
RequestCountHttpStatus5xx | Contagem de todas as solicitações que resultaram em um código HTTP 5xx (por exemplo, 500, 504). | Sim | Sim |
RequestCountHttpStatusOutros | Contagem de todos os outros códigos HTTP (fora de 2xx-5xx). | Sim | Sim |
RequestCountHttpStatus200 | Contagem de todas as solicitações que resultaram em uma resposta de código HTTP 200. | Sim | No |
RequestCountHttpStatus206 | Contagem de todas as solicitações que resultaram em uma resposta de código HTTP 206. | Sim | No |
RequestCountHttpStatus302 | Contagem de todas as solicitações que resultaram em uma resposta de código HTTP 302. | Sim | No |
RequestCountHttpStatus304 | Contagem de todas as solicitações que resultaram em uma resposta de código HTTP 304. | Sim | No |
RequestCountHttpStatus404 | Contagem de todas as solicitações que resultaram em uma resposta de código HTTP 404. | Sim | No |
RequestCountCacheHit | Contagem de todas as solicitações que resultaram em um acerto de cache. O ativo era servido diretamente do POP para o cliente. | Sim | Sim |
RequestCountCacheMiss | Contagem de todas as solicitações que resultaram em uma falha de cache. Uma falha de cache significa que o ativo não foi encontrado no POP mais próximo do cliente e foi recuperado da origem. | Sim | Sim |
RequestCountCacheNoCache | Contagem de todas as solicitações para um ativo que não podem ser armazenadas em cache devido a uma configuração de usuário na borda. | Sim | Sim |
RequestCountCacheUncacheable | Contagem de todas as solicitações para ativos que são impedidos de serem armazenados em cache pelos cabeçalhos Cache-Control e Expires do ativo. Essa contagem indica que ele não deve ser armazenado em cache em um POP ou pelo cliente HTTP. | Sim | Sim |
RequestCountCacheOutros | Contagem de todas as solicitações com status de cache não coberto pelas métricas listadas anteriormente. | Não | Sim |
EgressoTotal | Transferência de dados de saída em GB | Sim | Sim |
EgressHttpStatus2xx | Transferência de dados de saída* para respostas com 2xx códigos de status HTTP em GB. | Sim | Sim |
EgressHttpStatus3xx | Transferência de dados de saída para respostas com códigos de status HTTP 3xx em GB. | Sim | Sim |
EgressHttpStatus4xx | Transferência de dados de saída para respostas com códigos de status HTTP 4xx em GB. | Sim | Sim |
EgressHttpStatus5xx | Transferência de dados de saída para respostas com 5xx códigos de status HTTP em GB. | Sim | Sim |
EgressHttpStatusOutros | Transferência de dados de saída para respostas com outros códigos de status HTTP em GB. | Sim | Sim |
EgressCacheHit | Transferência de dados de saída para respostas que foram entregues diretamente do cache da rede de entrega de conteúdo nos POPs/Bordas da rede de entrega de conteúdo. | Sim | Sim |
EgressCacheMiss. | Transferência de dados de saída para respostas que não foram encontradas no servidor POP mais próximo e recuperadas do servidor de origem. | Sim | Sim |
EgressCacheNoCache | Transferência de dados de saída para ativos que não podem ser armazenados em cache devido a uma configuração de usuário na borda. | Sim | Sim |
EgressCacheUncacheable | Transferência de dados de saída para ativos que são impedidos de serem armazenados em cache pelos cabeçalhos Cache-Control e/ou Expira do ativo. Indica que ele não deve ser armazenado em cache em um POP ou pelo cliente HTTP. | Sim | Sim |
EgressCacheOutros | Transferências de dados de saída para outros cenários de cache. | Não | Sim |
*Transferência de dados de saída refere-se ao tráfego entregue a partir de servidores POP da rede de entrega de conteúdo para o cliente.
Esquema dos principais logs de análise
Todos os logs são armazenados no formato JSON e cada entrada tem campos de cadeia de caracteres de acordo com o seguinte esquema:
"records": [
{
"time": "2017-04-27T01:00:00",
"resourceId": "<ARM Resource Id of the CDN Endpoint>",
"operationName": "Microsoft.Cdn/profiles/endpoints/contentDelivery",
"category": "CoreAnalytics",
"properties": {
"DomainName": "<Name of the domain for which the statistics is reported>",
"RequestCountTotal": integer value,
"RequestCountHttpStatus2xx": integer value,
"RequestCountHttpStatus3xx": integer value,
"RequestCountHttpStatus4xx": integer value,
"RequestCountHttpStatus5xx": integer value,
"RequestCountHttpStatusOthers": integer value,
"RequestCountHttpStatus200": integer value,
"RequestCountHttpStatus206": integer value,
"RequestCountHttpStatus302": integer value,
"RequestCountHttpStatus304": integer value,
"RequestCountHttpStatus404": integer value,
"RequestCountCacheHit": integer value,
"RequestCountCacheMiss": integer value,
"RequestCountCacheNoCache": integer value,
"RequestCountCacheUncacheable": integer value,
"RequestCountCacheOthers": integer value,
"EgressTotal": double value,
"EgressHttpStatus2xx": double value,
"EgressHttpStatus3xx": double value,
"EgressHttpStatus4xx": double value,
"EgressHttpStatus5xx": double value,
"EgressHttpStatusOthers": double value,
"EgressCacheHit": double value,
"EgressCacheMiss": double value,
"EgressCacheNoCache": double value,
"EgressCacheUncacheable": double value,
"EgressCacheOthers": double value,
}
}
]
}
Onde a hora representa a hora de início do limite de hora para o qual as estatísticas são relatadas. Uma métrica não suportada por um provedor de rede de distribuição de conteúdo, em vez de um valor duplo ou inteiro, resulta em um valor nulo. Esse valor nulo indica a ausência de uma métrica e é diferente de um valor de 0. Um conjunto dessas métricas por domínio é configurado no ponto de extremidade.
Propriedades de exemplo:
{
"DomainName": "azurecdntest.azureedge.net",
"RequestCountTotal": 480,
"RequestCountHttpStatus2xx": 480,
"RequestCountHttpStatus3xx": 0,
"RequestCountHttpStatus4xx": 0,
"RequestCountHttpStatus5xx": 0,
"RequestCountHttpStatusOthers": 0,
"RequestCountHttpStatus200": 480,
"RequestCountHttpStatus206": 0,
"RequestCountHttpStatus302": 0,
"RequestCountHttpStatus304": 0,
"RequestCountHttpStatus404": 0,
"RequestCountCacheHit": null,
"RequestCountCacheMiss": null,
"RequestCountCacheNoCache": null,
"RequestCountCacheUncacheable": null,
"RequestCountCacheOthers": null,
"EgressTotal": 0.09,
"EgressHttpStatus2xx": null,
"EgressHttpStatus3xx": null,
"EgressHttpStatus4xx": null,
"EgressHttpStatus5xx": null,
"EgressHttpStatusOthers": null,
"EgressCacheHit": null,
"EgressCacheMiss": null,
"EgressCacheNoCache": null,
"EgressCacheUncacheable": null,
"EgressCacheOthers": null
}