Supervisión en tiempo real, métricas y registros de acceso para Azure CDN

Con Azure CDN de Microsoft, puede supervisar los recursos de las siguientes maneras para ayudarle a solucionar problemas, realizar seguimientos y depurar incidencias.

  • Los registros sin procesar proporcionan abundante información sobre cada solicitud que CDN recibe. Los registros sin procesar son diferentes de los registros de actividad. Los registros de actividad proporcionan visibilidad sobre las operaciones llevadas a cabo en los recursos de Azure.
  • Las métricas, que muestran cuatro métricas clave en CDN, incluida la proporción de aciertos de bytes, el recuento de solicitudes, el tamaño de respuesta y la latencia total. También proporciona diferentes dimensiones para desglosar las métricas.
  • La alerta, que permite al cliente configurar alertas para las métricas clave.
  • Las métricas adicionales, que permiten a los clientes usar Azure Log Analytics para habilitar métricas de valor adicionales. También se proporcionan ejemplos de consultas para otras métricas en Azure Log Analytics.

Importante

La característica Registros sin procesar de HTTP está disponible para Azure CDN de Microsoft.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Inicio de sesión en Azure

Inicie sesión en Azure Portal.

Configuración: Azure Portal

Para configurar los registros sin procesar para Azure CDN desde el perfil de Microsoft:

  1. En el menú de Azure Portal, seleccione Todos los recursos>><su-perfil-de-CDN>.

  2. En Supervisión, seleccione Configuración de diagnóstico.

  3. Seleccione + Agregar configuración de diagnóstico.

    Adición de configuración de diagnóstico para el perfil de CDN.

    Importante

    Los registros sin procesar solo están disponibles en el nivel de perfil, mientras que los registros de código de estado HTTP agregados están disponibles en el nivel de punto de conexión.

  4. En Configuración de diagnóstico, escriba un nombre para la configuración de diagnóstico en Nombre de la configuración de diagnóstico.

  5. Seleccione AzureCdnAccessLog y establezca la retención en días.

  6. Seleccione Detalles del destino. Las opciones de destino son:

    • Enviar a Log Analytics
      • Seleccione la Suscripción y el Área de trabajo de Log Analytics.
    • Archivar en una cuenta de almacenamiento
      • Seleccione la Suscripción y la Cuenta de almacenamiento.
    • Transmisión a un centro de eventos
      • Seleccione la Suscripción, el Espacio de nombres del centro de eventos, el Nombre del centro de eventos (opcional) y el Nombre de la directiva del centro de eventos.

    Configuración del destino para la configuración de registro.

  7. Seleccione Guardar.

Configuración: Azure PowerShell

Use Set-AzDiagnosticSetting para configurar los valores de diagnóstico de los registros sin procesar.

Los datos de retención se definen mediante la opción -RetentionInDays del comando.

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Habilitación de registros de diagnóstico en una cuenta de almacenamiento

  1. Inicie sesión en Azure PowerShell:

    Connect-AzAccount 
    
  2. Para habilitar los registros de diagnóstico en una cuenta de almacenamiento, escriba estos comandos. Reemplace las variables por sus valores:

    ## Variables for the commands ##
    $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>
    $days = '30'
    
    $cdn = Get-AzCdnProfile -ResourceGroupName $rsg -ProfileName $cdnprofile
    
    $storage = Get-AzStorageAccount -ResourceGroupName $rsg -Name $storageacct
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -StorageAccountId $storage.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Habilitación de registros de diagnóstico en el área de trabajo de Log Analytics

  1. Inicie sesión en Azure PowerShell:

    Connect-AzAccount 
    
  2. Para habilitar los registros de diagnóstico en un área de trabajo de Log Analytics, escriba estos comandos. Reemplace las variables por sus valores:

    ## Variables for the commands ##
    $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>
    $days = '30'
    
    $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 -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Habilitación de registros de diagnóstico en un espacio de nombres del centro de eventos

  1. Inicie sesión en Azure PowerShell:

    Connect-AzAccount 
    
  2. Para habilitar los registros de diagnóstico en un espacio de nombres del centro de eventos, escriba estos comandos. Reemplace las variables por sus valores:

    ## Variables for the commands ##
    $rsg = <your-resource-group-name>
    $cdnprofile = <your-cdn-profile-name>
    $cdnendpoint = <your-cdn-endpoint-name>
    $evthubnamespace = <your-event-hub-namespace-name>
    $diagname = <your-diagnostic-setting-name>
    
    $cdn = Get-AzCdnEndpoint -ResourceGroupName $rsg -ProfileName $cdnprofile -EndpointName $cdnendpoint
    
    $eventhub = Get-AzEventHubNamespace -ResourceGroupName $rsg -Name $eventhubname
    
    Set-AzDiagnosticSetting -Name $diagname -ResourceId $cdn.id -EventHubName $eventhub.id -Enabled $true -Category AzureCdnAccessLog -RetentionEnabled 1 -RetentionInDays $days
    

Propiedades de los registros sin procesar

En la actualidad, Azure CDN del servicio de Microsoft proporciona los registros sin procesar. Los registros sin procesar proporcionan las solicitudes de API individuales con el siguiente esquema para cada entrada:

Propiedad Descripción
BackendHostname Si la solicitud se reenvía a un back-end, este campo representa el nombre de host del back-end. Este campo está en blanco si la solicitud se redirige o reenvía a una caché regional (si el almacenamiento en caché está habilitado para la regla de enrutamiento).
CacheStatus En el caso de los escenarios de almacenamiento en caché, este campo define el número de aciertos y errores de caché en el POP
ClientIp Dirección IP del cliente que realizó la solicitud. Si hubiera un encabezado X-Forwarded-For en la solicitud, la dirección IP del cliente se seleccionaría del mismo.
ClientPort Puerto IP del cliente que realizó la solicitud.
HttpMethod Método HTTP utilizado por la solicitud.
HttpStatusCode El código de estado HTTP devuelto desde el servidor proxy. Si se agota el tiempo de espera de una solicitud al origen, el valor de HttpStatusCode es establece en 0.
HttpStatusDetails Estado resultante en la solicitud. El significado de este valor de cadena puede encontrarse en una tabla de referencia de estado.
HttpVersion Tipo de la solicitud o conexión.
POP Nombre corto del perímetro en el que ha aterrizado la solicitud.
RequestBytes El tamaño del mensaje de solicitud HTTP en bytes, incluidos los encabezados de solicitud y el cuerpo de solicitud.
RequestUri URI de la solicitud recibida.
ResponseBytes Bytes enviados por el servidor back-end como respuesta.
RoutingRuleName El nombre de la regla de enrutamiento que coincidió con la solicitud.
RulesEngineMatchNames Los nombres de las reglas que coincidieron con la solicitud.
SecurityProtocol La versión del protocolo TLS/SSL utilizada por la solicitud o null si no hay cifrado.
SentToOriginShield
(en desuso)* Consulte las notas sobre el desuso en la sección siguiente.
Si es True, significa que la solicitud se respondió desde la memoria caché del escudo de origen en lugar del PoP perimetral. El escudo de origen es una memoria caché primaria que se usa para mejorar la proporción de aciertos de caché.
isReceivedFromClient Si es true, significa que la solicitud procedía del cliente. Si es false, la solicitud es una línea no ejecutada en el servidor perimetral (POP secundario) y se responde desde el escudo de origen (POP primario).
TimeTaken Período de tiempo desde el primer byte de la solicitud en Azure Front Door hasta el último byte de la respuesta, en segundos.
TrackingReference La cadena de referencia exclusiva que identifica una solicitud atendida por Azure Front Door, que también se envía como encabezado X-Azure-Ref al cliente. Se requiere para buscar los detalles en los registros de acceso para una solicitud específica.
UserAgent Tipo de explorador utilizado por el cliente.
ErrorInfo Este campo contiene el tipo específico de error para restringir el área de solución de problemas.
Los valores posibles son, entre otros:
NoError: indica que no se encontraron errores.
CertificateError: error de certificado SSL genérico.
CertificateNameCheckFailed: el nombre de host del certificado SSL no es válido o no coincide.
ClientDisconnected: error de solicitud debido a la conexión de red del cliente.
UnspecifiedClientError: error de cliente genérico.
InvalidRequest: solicitud no válida. Podría producirse debido a un encabezado, un cuerpo y una dirección URL con formato incorrecto.
DNSFailure: error de DNS.
DNSNameNotResolved: no se pudo resolver el nombre o la dirección del servidor.
OriginConnectionAborted: la conexión con el origen se detuvo de forma abrupta.
OriginConnectionError: error de conexión de origen genérico.
OriginConnectionRefused: no se pudo establecer la conexión con el origen.
OriginError: error genérico del origen.
OriginInvalidResponse: el origen devolvió una respuesta no válida o desconocida.
OriginTimeout: el período de tiempo de espera de la solicitud del origen expiró.
ResponseHeaderTooBig: el origen devolvió un encabezado de respuesta demasiado grande.
RestrictedIP: la solicitud se bloqueó debido a una IP restringida.
SSLHandshakeError: no se puede establecer la conexión con el origen debido a un error del protocolo de enlace SSL.
UnspecifiedError: error que no cabe en ninguno de los errores de la tabla.
TimeToFirstByte La duración en milisegundos desde que Microsoft CDN recibe la solicitud hasta el momento en que se envía el primer byte al cliente. El tiempo se mide solo desde el lado de Microsoft. No se miden los datos del lado cliente.
Resultado SSLMismatchedSNI es un código de estado que significa una solicitud correcta con una advertencia de coincidencia entre la indicación de nombre de servidor (SNI) y el encabezado de host. Este código de estado implica el front-end de dominio, una técnica que infringe los términos de servicio de Azure Front Door. Las solicitudes con SSLMismatchedSNI se rechazarán después del 22 de enero de 2024.
SNI Este campo especifica la indicación de nombre de servidor (SNI) que se envía durante el protocolo de enlace TLS/SSL. Se puede usar para identificar el valor SNI exacto si había un código de estado SSLMismatchedSNI. Además, se puede comparar con el valor de host en el campo requestUri para detectar y resolver el problema de coincidencia.

Nota:

Para ver los registros en el perfil de Log Analytics, ejecute una consulta. Una consulta de muestra tendría el siguiente aspecto: AzureDiagnostics | where Category == "AzureCdnAccessLog"

Desuso de la propiedad de envío al escudo de origen

La propiedad isSentToOriginShield del registro sin procesar está en desuso y se ha reemplazado por un nuevo campo, isReceivedFromClient. Use el nuevo campo si aún usa el campo en desuso.

Los registros sin procesar incluyen los registros generados tanto desde el servidor perimetral de la red CDN (POP secundario) como desde el escudo de origen. El escudo de origen hace referencia a los nodos primarios que están ubicados de manera estratégica por todo el planeta. Estos nodos se comunican con los servidores de origen y reducen la carga de tráfico en el origen.

Por cada solicitud que va al escudo de origen, hay dos entradas de registro:

  • Una para los nodos perimetrales y
  • otra para el escudo de origen.

Para diferenciar la salida o las respuestas de los nodos perimetrales de las del escudo de origen, puede usar el campo isReceivedFromClient para obtener los datos correctos.

Si el valor es false, significa que la solicitud se responde desde el escudo de origen a los nodos perimetrales. Este enfoque es eficaz para comparar los registros sin procesar con los datos de facturación. No se paga por la salida del escudo de origen a los nodos perimetrales. Se paga por la salida de los nodos perimetrales a los clientes.

Ejemplo de consulta Kusto para excluir los registros generados en el escudo de origen en Log Analytics.

AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient == true

Importante

La característica de registros sin formato HTTP está disponible automáticamente para los perfiles creados o actualizados después del 25 de febrero de 2020. En el caso de los perfiles de CDN creados anteriormente, debe actualizar el punto de conexión de CDN después de configurar el registro. Por ejemplo, puede navegar al filtrado geográfico en puntos de conexión de CDN y bloquear cualquier país o región que no sea relevante para su carga de trabajo y pulsar Guardar.

Métricas

Azure CDN de Microsoft se integra con Azure Monitor y publica cuatro métricas de CDN para ayudar a realizar seguimientos, solucionar problemas y depurar incidencias.

Las métricas se muestran en gráficos y se puede acceder a ellas a través de PowerShell, la CLI y la API. Las métricas de CDN son gratuitas.

Azure CDN de Microsoft mide y envía sus métricas a intervalos de 60 segundos. Las métricas pueden tardar hasta 3 minutos en aparecer en el portal.

Para obtener más información, vea Información general sobre las métricas en Microsoft Azure.

Métricas compatibles con Azure CDN de Microsoft

Métricas Descripción Dimensions
Proporción de aciertos de bytes* El porcentaje de salida de la memoria caché de CDN, calculado con respecto a la salida total. Punto de conexión
RequestCount El número de solicitudes de cliente que atiende CDN. País de cliente
del punto de conexión.
Región del cliente.
Estado HTTP.
Código de estado HTTP.
ResponseSize Número de bytes enviados como respuestas desde el perímetro de CDN a los clientes. País de cliente
del punto de conexión.
Región del cliente.
Estado HTTP.
Código de estado HTTP.
TotalLatency El tiempo total desde la solicitud de cliente recibida por CDN hasta el último byte de respuesta enviado desde CDN al cliente. País de cliente
del punto de conexión.
Región del cliente.
Estado HTTP.
Código de estado HTTP.

Nota:

Si se agota el tiempo de espera de una solicitud al origen, el valor de HttpStatusCode es establece en 0.

*Proporción de aciertos de bytes = (salida del perímetro - salida del origen)/salida del perímetro

Escenarios excluidos en el cálculo de la proporción de aciertos de bytes:

  • No se configura ninguna caché explícitamente a través del motor de reglas o del comportamiento del almacenamiento en caché de cadenas de consulta.
  • Se configura la directiva de control de caché con una caché privada o sin almacén.

Configuración de métricas

  1. En el menú de Azure Portal, seleccione Todos los recursos>><su-perfil-de-CDN>.

  2. En Supervisión, seleccione Métricas:

    Métricas para el perfil de CDN.

  3. Seleccione Agregar métrica y luego la métrica que desea agregar:

    Adición y selección de una métrica para el perfil de CDN.

  4. Seleccione Agregar filtro para agregar un filtro:

    Aplicación de un filtro a la métrica.

  5. Seleccione Aplicar división para ver la tendencia por dimensiones diferentes:

    Aplicación de la división a la métrica.

  6. Seleccione Nuevo gráfico para agregar un nuevo gráfico:

    Adición de un nuevo gráfico a la vista de métrica.

Alertas

Puede configurar alertas en CDN de Microsoft seleccionando Supervisión>>Alertas.

Seleccione Nueva regla de alertas para las métricas que aparecen en la sección Métricas:

Configuración de alertas para el punto de conexión de CDN.

La alerta se cobra en función de Azure Monitor. Para más información sobre alertas, consulte Alertas de Azure Monitor.

Métricas adicionales

Puede habilitar métricas adicionales con Azure Log Analytics y registros sin procesar por un costo adicional.

  1. Siga los pasos de la sección anterior para permitir que los diagnósticos envíen registros sin procesar a Log Analytics.

  2. Seleccione el área de trabajo de Log Analytics que creó:

    Captura de pantalla del menú seleccionar área de trabajo de Log Analytics.

  3. Seleccione Registros en General en el área de trabajo de Log Analytics. Luego seleccione Tareas iniciales:

    Captura de pantalla del área de trabajo de recursos de Log Analytics.

  4. Seleccione Perfiles de CDN. Seleccione una consulta de ejemplo para ejecutar o cerrar la pantalla de ejemplo para escribir una consulta personalizada:

    Captura de pantalla de la pantalla de consulta de ejemplo.

    Captura de pantalla de la ejecución de la consulta.

  5. Para ver los datos por gráfico, seleccione Gráfico. Seleccione Anclar al panel para anclar el gráfico al panel de Azure:

    Captura de pantalla del gráfico de anclajes al panel.

Pasos siguientes

En este artículo, ha habilitado los registros sin procesar de HTTP para el servicio CDN de Microsoft.

Para más información sobre Azure CDN y los otros servicios de Azure que se mencionan en este artículo, consulte: