Поделиться через


Журналы диагностики — сеть доставки содержимого Microsoft Azure

Внимание

Azure CDN standard от Корпорации Майкрософт (классическая версия) будет прекращена 30 сентября 2027 г. Чтобы избежать нарушений в работе службы, важно перенести профили Azure CDN из профиля "Стандартный" от Майкрософт (классический) на тарифы Azure Front Door Standard или Premium к 30 сентября 2027 г. Дополнительные сведения см. в статье Azure CDN Standard от Майкрософт (классическая версия) — вывод из эксплуатации.

Azure CDN от Edgio была прекращена 15 января 2025 г. Дополнительные сведения см. в разделе часто задаваемых вопросов о прекращении работы Azure CDN от Edgio.

Журналы диагностики Azure позволяют просматривать данные основной аналитики и сохранять их в одно или несколько из следующих целевых расположений:

  • Учетная запись хранения Azure
  • Рабочая область Log Analytics
  • Центры событий Azure

Эта функция доступна в конечных точках сети доставки содержимого для всех ценовых категорий.

Журналы диагностики позволяют экспортировать базовые метрики использования из конечной точки сети доставки содержимого в различные типы источников, чтобы вы могли настраивать их использование. Доступны следующие типы экспорта данных:

  • Экспорт данных в хранилище BLOB-объектов, экспорт в CSV-файл и создание графиков в Excel.
  • экспорт данных в Центры событий и их сопоставление с данными из других служб Azure;
  • Экспортируйте данные в журналы Azure Monitor и просматривайте их в собственной рабочей области Log Analytics.

Для выполнения следующих шагов требуется профиль сети доставки контента Azure. Прежде чем продолжить, обратитесь к документу "Создание профиля и конечной точки сети доставки контента Azure".

Включение ведения журнала с помощью портала Azure

Выполните следующие действия, чтобы активировать ведение журнала для конечной точки сети доставки контента Azure.

  1. Войдите на портал Azure.

  2. На портале Azure перейдите к Все ресурсы>your-cdn-profile.

  3. Выберите конечную точку сети доставки содержимого, для которой необходимо включить журналы диагностика.

  4. Выберите журналы диагностики в разделе "Мониторинг ".

Включение ведения журнала с помощью службы хранилища Azure

Чтобы использовать учетную запись хранения для хранения журналов, выполните следующие действия.

Примечание.

Для выполнения этих действий потребуется учетная запись хранения. Дополнительные сведения см. в статье Создание учетной записи хранения Azure.

  1. В поле Имя параметра диагностики введите имя для параметров журнала диагностики.

  2. Выберите Архивировать в учетной записи хранения, а затем выберите CoreAnalytics.

  3. Для параметра Хранение (в днях) выберите число дней хранения. Хранение на ноль дней означает, что журналы будут храниться неограниченно долго.

  4. Выберите подписку и учетную запись хранения для журналов.

  5. Выберите Сохранить.

Отправить в Log Analytics.

Чтобы использовать Log Analytics для журналов, сделайте следующее:

Примечание.

Для выполнения этих действий требуется рабочая область Log Analytics. Дополнительные сведения см. в статье Создание рабочей области Log Analytics на портале Azure.

  1. В поле Имя параметра диагностики введите имя для параметров журнала диагностики.

  2. Установите флажок Отправить в Log Analytics, а затем — CoreAnalytics.

  3. Выберите подписку и рабочую область Log Analytics для журналов.

     Снимок экрана: журналы диагностики — Log Analytics.

  4. Выберите Сохранить.

Передать в концентратор событий.

Чтобы использовать концентратор событий для журналов, сделайте следующее:

Примечание.

Для выполнения этих действий потребуется концентратор событий. Дополнительные сведения см. в статье Краткое руководство. Создание концентратора событий с помощью портала Azure.

  1. В поле Имя параметра диагностики введите имя для параметров журнала диагностики.

  2. Выберите Передать в концентратор событий, затем выберите CoreAnalytics.

  3. Выберите подписку и пространство имен Event Hubs для журналов.

    Снимок экрана: журналы диагностики — концентратор событий.

  4. Выберите Сохранить.

Включение ведения журнала с помощью PowerShell

Следующий пример показывает, как включить журналы диагностики с помощью командлетов Azure PowerShell.

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Перенос Azure PowerShell с AzureRM на Az.

Включение журналов диагностики в учетной записи хранения

  1. Войдите в Azure PowerShell.

    Connect-AzAccount 
    
  2. Чтобы включить журналы диагностики в учетной записи хранения, введите следующие команды, заменив переменные собственными значениями:

    $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
    

Включение журналов диагностики для рабочей области Log Analytics

  1. Войдите в Azure PowerShell.

    Connect-AzAccount 
    
  2. Чтобы включить журналы диагностики для рабочей области Log Analytics, введите следующие команды, заменив переменные собственными значениями:

    $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
    

Включите журналы диагностики для пространства имен концентратора событий

  1. Войдите в Azure PowerShell.

    Connect-AzAccount 
    
  2. Чтобы включить журналы диагностики для рабочей области Log Analytics, введите следующие команды, заменив переменные собственными значениями:

    $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
    

Использование журналов диагностики из хранилища Azure

В этом разделе описывается схема аналитики сетевых ядер доставки содержимого, организация в учетной записи служба хранилища Azure и пример кода для скачивания журналов в CSV-файле.

Использование обозревателя хранилищ Microsoft Azure

Вы можете скачать это средство на странице обозревателя хранилищ Azure. После скачивания и установки программного обеспечения настройте его для использования той же учетной записи хранилища Azure, которая была настроена в качестве места назначения для журналов диагностики сети доставки содержимого.

  1. Откройте обозреватель хранилищ Microsoft Azure.
  2. Найдите учетную запись хранения.
  3. Разверните узел Контейнеры больших двоичных объектов в учетной записи хранения.
  4. Выберите контейнер с именем insights-logs-coreanalytics.
  5. Результаты отобразятся на панели справа, начиная с первого уровня, который обозначен как resourceId=. Продолжайте выбирать уровни, пока не найдете файл PT1H.json. См. описание пути в разделе Формат пути Blob.
  6. Каждый файл блоба PT1H.json представляет журналы аналитики в течение одного часа для определенного сетевого интерфейса или пользовательского домена.
  7. Схема содержимого этого JSON-файла описана в разделе "Схемы журналов основной аналитики".

Формат пути BLOB-объекта

Журналы основной аналитики создаются каждый час, данные собираются и хранятся в одном BLOB-объекте Azure в виде JSON-нагрузки. Обозреватель хранилища интерпретирует "/" как разделитель каталогов и отображает иерархию. Путь к BLOB-объекту Azure отображается как иерархическая структура и указывает на имя этого BLOB-объекта. Имя BLOB-объекта следует следующему соглашению об именовании.

resourceId=/SUBSCRIPTIONS/{Subscription Id}/RESOURCEGROUPS/{Resource Group Name}/PROVIDERS/MICROSOFT.CDN/PROFILES/{Profile Name}/ENDPOINTS/{Endpoint Name}/ y=/m=/d=/h=/m=/PT1H.json

Описание полей

значение Описание
Идентификатор подписки Идентификатор подписки Azure в глобальном уникальном формате идентификатора (GUID).
Имя группы ресурсов Имя группы ресурсов, к которой принадлежат сетевые ресурсы доставки содержимого.
Имя профиля Имя профиля сети доставки содержимого
Имя конечной точки Имя конечной точки сети доставки содержимого
Год 4-значное обозначение года, например 2017
месяц 2-значное обозначение номера месяца 01 = январь... 12 = декабрь.
день 2-значное обозначение дня месяца
PT1H.json Фактический JSON-файл, в котором хранятся данные аналитики.

Экспорт данных основной аналитики в CSV-файл

Для доступа к основной аналитике предлагаем пример кода для средства. Это средство позволяет загружать JSON-файлы в плоский формат файлов с разделителями-запятыми, который можно использовать для создания диаграмм или других агрегатов.

Вот как использовать это средство:

  1. Перейдите на сайт GitHub по ссылке https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv.
  2. Скачайте код.
  3. Следуйте инструкциям по компиляции и настройке.
  4. Запустите средство.
  5. Полученный CSV-файл позволяет просмотреть данные аналитики в простой одноуровневой структуре.

Задержка данных журнала

Данные журнала Майкрософт задерживаются до 1 часа. Эта задержка обусловлена временем обработки и хранения данных.

Типы журналов диагностики для аналитики сетевых ядер доставки содержимого

В настоящее время корпорация Майкрософт предлагает только основные журналы аналитики, которые содержат метрики, показывающие статистику ответа HTTP и статистику выгрузки, как это видно по точкам присутствия и границам сети доставки содержимого.

Сведения о метриках основной аналитики

В таблице ниже приведен список метрик, доступных в журналах основной аналитики.

Не все метрики доступны у всех поставщиков, хотя различия минимальны. В этой таблице также есть сведения о доступности метрик у определенных поставщиков. Метрики доступны только для конечных точек сети доставки содержимого, имеющих трафик на них.

Метрика Описание
Общее количество запросов Общее количество запросов за этот период.
Количество запросов со статусом HTTP 2xx Количество запросов, на которые возвращены ответы с кодами HTTP 2xx (200, 202 и т. д.).
СчетчикЗапросовHttpStatus3xx Количество запросов, на которые возвращены ответы с кодами HTTP 3xx (300, 302 и т. д.).
КоличествоЗапросовHttpStatus4xx Количество запросов, на которые возвращены ответы с кодами HTTP 4xx (400, 404 и т. д.).
КоличествоЗапросовHttpStatus5xx Количество запросов, на которые возвращены ответы с кодами HTTP 5xx (500, 504 и т. д.).
КоличествоЗапросовПоДругимHttpСтатусам Количество всех остальных кодов HTTP (кроме 2xx–5xx).
КоличествоЗапросовHttpСтатус200 Количество всех запросов, на которые возвращался ответ с кодом HTTP 200.
КоличествоЗапросовСтатусHTTP206 Количество всех запросов, на которые возвращался ответ с кодом HTTP 206.
КоличествоЗапросовHttpStatus302 Количество всех запросов, на которые возвращался ответ с кодом HTTP 302.
КоличествоЗапросовHttpStatus304 Количество всех запросов, на которые возвращался ответ с кодом HTTP 304.
КоличествоЗапросовHttpСтатус404 Количество всех запросов, на которые возвращался ответ с кодом HTTP 404.
Количество_запросов_доступов_кэша Количество всех запросов, в результате которых произошло попадание в кэш. Актив был передан клиенту непосредственно из узла присутствия.
Количество_запросов_промахов_кэша Количество всех запросов, в результате которых произошел кэш-промах. Пропуск Cache означает, что ресурс не был найден в точке присутствия (POP), ближайшей к клиенту, и был получен из исходного источника.
КэшированиеЗапросовБезКэша Количество всех запросов к ресурсу, кэширование которых запрещено из-за конфигурации пользователя на периферии сети.
ЗапросКоличествоКэшНекэшируемый Количество всех запросов к ресурсам, которые предотвращаются от кэширования заголовками Cache-Control и Expires. Это количество означает, что данный ресурс не должен кэшироваться на точке присутствия или в HTTP-клиенте.
ЭгрессТотал Объем передачи исходящих данных в ГБ.
EgressHttpStatus2xx Объем передачи исходящих данных* для ответов с кодами состояния HTTP 2xx (ГБ).
EgressHttpStatus3xx Объем передачи исходящих данных для ответов с кодами состояния HTTP 3xx (ГБ).
EgressHttpStatus4xx Объем передачи исходящих данных для ответов с кодами состояния HTTP 4xx (ГБ).
EgressHttpStatus5xx (Исходящий HTTP статус 5xx) Объем передачи исходящих данных для ответов с кодами состояния HTTP 5xx (ГБ).
Другие состояния HTTP Egress Объем передачи исходящих данных для ответов с другими кодами состояния HTTP (ГБ).
EgressCacheHit Передача исходящих данных для ответов, которые были доставлены непосредственно из кэша сети доставки содержимого в сети доставки содержимого в сети POPs/Edge.
EgressCacheMiss Объем передачи исходящих данных для ответов, не найденных на ближайшем POP-сервере и полученных с сервера-источника.
EgressCacheNoCache Передача данных для ресурсов, кэширование которых запрещено из-за конфигурации пользователя на краю сети.
Кэш выхода не кэшируется Передача исходящих данных для ресурсов, которые не могут быть кэшированы из-за заголовков Cache-Control или Expires ресурса. Указывает, что ресурс не должен кэшироваться на POP или HTTP-клиентом.

*Передача исходящих данных относится к трафику, доставленном из сетевых POP-серверов доставки содержимого клиенту.

Схема журналов основной аналитики

Все журналы хранятся в формате JSON, и каждая запись содержит строковые поля, как показано на схеме ниже.

    "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,
            }
        }

    ]
}

Здесь time представляет начальное время часового рубежа, для которого сообщаются статистические данные. Метрика, неподдерживаемая поставщиком сети доставки содержимого, вместо двойного или целочисленного значения, приводит к значению NULL. Это значение указывает на отсутствие метрики, то есть по смыслу отличается от значения 0. Каждому домену, настроенному на конечной точке, соответствует один набор этих метрик.

Пример набора свойств:

{
     "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
}

Дополнительные ресурсы