Журналы диагностики — сеть доставки содержимого Microsoft Azure
Внимание
Azure CDN standard от Корпорации Майкрософт (классическая версия) будет прекращена 30 сентября 2027 г. Чтобы избежать нарушений работы службы, важно перенести профили Azure CDN уровня "Стандартный" от Майкрософт (классический) на уровень Azure Front Door standard или Premium к 30 сентября 2027 года. Дополнительные сведения см. в статье Azure CDN Standard от майкрософт (классическая версия).
Azure CDN из Эдгио будет прекращено 4 ноября 2025 г. Перед этой датой необходимо перенести рабочую нагрузку в Azure Front Door. Дополнительные сведения см. в статье Azure CDN из Edgio для выхода на пенсию.
Журналы диагностики Azure позволяют просматривать данные основной аналитики и сохранять их в одно или несколько из следующих целевых расположений:
- Учетная запись хранения Azure
- Рабочая область Log Analytics
- Центры событий Azure
Эта функция доступна в конечных точках сети доставки содержимого для всех ценовых категорий.
Журналы диагностики позволяют экспортировать базовые метрики использования из конечной точки сети доставки содержимого в различные источники типов, чтобы их можно было использовать в настраиваемом режиме. Доступны следующие типы экспорта данных:
- экспорт данных в хранилище BLOB-объектов, экспорт в CSV-файл и создание диаграмм в Excel;
- экспорт данных в Центры событий и их сопоставление с данными из других служб Azure;
- экспорт данных в журналы Azure Monitor и просмотр данных в собственной рабочей области Log Analytics.
Для выполнения следующих действий требуется профиль azure сеть доставки содержимого. Прежде чем продолжить, ознакомьтесь с разделом "Создание профиля и конечной точки Azure сеть доставки содержимого".
Включение ведения журнала с помощью портала Azure
Выполните следующие действия, чтобы включить ведение журнала для конечной точки Azure сеть доставки содержимого:
Войдите на портал Azure.
В портал Azure перейдите к всем ресурсам>профиля cdn-profile.
Выберите конечную точку сети доставки содержимого, для которой требуется включить диагностика журналы:
В разделе Мониторинг выберите Журналы диагностики:
Включение ведения журнала с помощью службы хранилища Azure
Чтобы использовать учетную запись хранения для хранения журналов, выполните следующие действия.
Примечание.
Для выполнения этих действий потребуется учетная запись хранения. Дополнительные сведения см. в статье Создание учетной записи хранения Azure.
В поле Имя параметра диагностики введите имя для параметров журнала диагностики.
Выберите Архивировать в учетной записи хранения, а затем выберите CoreAnalytics.
Для параметра Хранение (в днях) выберите число дней хранения. Нулевое значение означает, что журналы будут храниться неограниченно долго.
Выберите подписку и учетную запись хранения для журналов.
Выберите Сохранить.
Отправить в Log Analytics.
Чтобы использовать Log Analytics для журналов, сделайте следующее:
Примечание.
Для выполнения этих действий требуется рабочая область Log Analytics. Дополнительные сведения см. в статье Создание рабочей области Log Analytics на портале Azure.
В поле Имя параметра диагностики введите имя для параметров журнала диагностики.
Установите флажок Отправить в Log Analytics, а затем — CoreAnalytics.
Выберите подписку и рабочую область Log Analytics для журналов.
Выберите Сохранить.
Передать в концентратор событий.
Чтобы использовать концентратор событий для журналов, сделайте следующее:
Примечание.
Для выполнения этих действий потребуется концентратор событий. Дополнительные сведения см. в статье Краткое руководство. Создание концентратора событий с помощью портала Azure.
В поле Имя параметра диагностики введите имя для параметров журнала диагностики.
Установите флажок Передать в концентратор событий, а затем — CoreAnalytics.
Выберите подписку и пространство имен концентратора событий для журналов.
Выберите Сохранить.
Включение ведения журнала с помощью PowerShell
Используйте командлеты Azure PowerShell из примера ниже, чтобы включить журналы диагностики.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Включение журналов диагностики в учетной записи хранения
Войдите в Azure PowerShell.
Connect-AzAccount
Чтобы включить журналы диагностики в учетной записи хранения, введите следующие команды, заменив переменные собственными значениями:
$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
Войдите в Azure PowerShell.
Connect-AzAccount
Чтобы включить журналы диагностики для рабочей области 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
Включение журналов диагностики для пространства имен концентратора событий
Войдите в Azure PowerShell.
Connect-AzAccount
Чтобы включить журналы диагностики для рабочей области 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, которая была настроена в качестве назначения для журналов диагностики сети доставки содержимого.
- Откройте обозреватель хранилищ Microsoft Azure.
- Найдите учетную запись хранения.
- Разверните узел Контейнеры больших двоичных объектов в учетной записи хранения.
- Выберите контейнер с именем insights-logs-coreanalytics.
- Результаты отобразятся на панели справа, начиная с первого уровня, который обозначен как resourceId=. Продолжайте выбирать уровни, пока не найдете файл PT1H.json. Описание пути см. в следующих данных о формате пути большого двоичного объекта.
- Каждый большой двоичный объект PT1H.json представляет журналы аналитики в течение одного часа для определенной конечной точки сети доставки содержимого или личного домена.
- Схема содержимого этого JSON-файла описана в разделе "Схемы журналов основной аналитики".
Формат пути BLOB-объекта
Журналы основной аналитики создаются каждый час, собираются в один BLOB-объект и хранятся в нем в формате полезных данных 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-файлов с преобразованием в неструктурированные файлы с разделителями-запятыми, на основе которых можно создавать диаграммы или вычислять статистику.
Вот как использовать это средство:
- Перейдите на сайт GitHub по ссылке https://github.com/Azure-Samples/azure-cdn-samples/tree/master/CoreAnalytics-ExportToCsv.
- Скачайте код.
- Следуйте инструкциям по компиляции и настройке.
- Запустите средство.
- Полученный CSV-файл позволяет просмотреть данные аналитики в простой одноуровневой структуре.
Задержка данных журнала
В следующей таблице показаны задержки данных журнала для Azure CDN уровня "Стандартный" от Майкрософт и Azure CDN уровня "Стандартный" или "Премиум" из Edgio.
Задержка данных журнала Майкрософт | Задержки данных журнала Edgio |
---|---|
Задержка на 1 час. | Задержка составляет 1 час, а от момента распространения конечной точки до начала отображения данных может пройти до 2 часов. |
Типы журналов диагностики для аналитики сетевых ядер доставки содержимого
В настоящее время корпорация Майкрософт предлагает только основные журналы аналитики, которые содержат метрики, показывающие статистику ответа HTTP и статистику исходящего трафика, как показано на основе сетей доставки содержимого и ребер.
Сведения о метриках основной аналитики
В таблице ниже приведен список метрик, доступных в журналах основной аналитики для:
- Azure CDN уровня "Стандартный" от Майкрософт;
- Azure CDN уровня "Стандартный" или "Премиум" из Эдгио
Не все метрики доступны у всех поставщиков, хотя различия минимальны. В этой таблице также есть сведения о доступности метрик у определенных поставщиков. Метрики доступны только для конечных точек сети доставки содержимого, имеющих трафик на них.
Метрическая | Description | Microsoft | Эдгио |
---|---|---|---|
RequestCountTotal | Общее количество запросов за этот период. | Да | Да |
RequestCountHttpStatus2xx | Количество запросов, на которые возвращены ответы с кодами HTTP 2xx (200, 202 и т. д.). | Да | Да |
RequestCountHttpStatus3xx | Количество запросов, на которые возвращены ответы с кодами HTTP 3xx (300, 302 и т. д.). | Да | Да |
RequestCountHttpStatus4xx | Количество запросов, на которые возвращены ответы с кодами HTTP 4xx (400, 404 и т. д.). | Да | Да |
RequestCountHttpStatus5xx | Количество запросов, на которые возвращены ответы с кодами HTTP 5xx (500, 504 и т. д.). | Да | Да |
RequestCountHttpStatusOthers | Количество всех остальных кодов HTTP (кроме 2xx–5xx). | Да | Да |
RequestCountHttpStatus200 | Количество всех запросов, на которые возвращался ответ с кодом HTTP 200. | Да | Нет |
RequestCountHttpStatus206 | Количество всех запросов, на которые возвращался ответ с кодом HTTP 206. | Да | Нет |
RequestCountHttpStatus302 | Количество всех запросов, на которые возвращался ответ с кодом HTTP 302. | Да | Нет |
RequestCountHttpStatus304 | Количество всех запросов, на которые возвращался ответ с кодом HTTP 304. | Да | Нет |
RequestCountHttpStatus404 | Количество всех запросов, на которые возвращался ответ с кодом HTTP 404. | Да | Нет |
RequestCountCacheHit | Количество всех запросов, в результате которых произошло попадание в кэш. Такие ресурсы возвращаются клиенту непосредственно из точки присутствия. | Да | Да |
RequestCountCacheMiss | Количество всех запросов, в результате которых произошел промах кэша. Это означает, что ресурс не найден в ближайшей к клиенту точке присутствия и был получен из источника. | Да | Да |
RequestCountCacheNoCache | Количество всех запросов к ресурсу, кэширование которых запрещено из-за конфигурации пользователя на границе. | Да | Да |
RequestCountCacheUncacheable | Количество всех запросов к ресурсам, которые не позволяют кэшироваться заголовками кэша ресурса и истекает срок действия. Это количество указывает, что ресурс не должен кэшироваться в точке присутствия или в HTTP-клиенте. | Да | Да |
RequestCountCacheOthers | Количество всех запросов с состоянием кэша, не охваченным метриками, перечисленными ранее. | No | Да |
EgressTotal | Объем передачи исходящих данных в ГБ. | Да | Да |
EgressHttpStatus2xx | Объем передачи исходящих данных* для ответов с кодами состояния HTTP 2xx (ГБ). | Да | Да |
EgressHttpStatus3xx | Объем передачи исходящих данных для ответов с кодами состояния HTTP 3xx (ГБ). | Да | Да |
EgressHttpStatus4xx | Объем передачи исходящих данных для ответов с кодами состояния HTTP 4xx (ГБ). | Да | Да |
EgressHttpStatus5xx | Объем передачи исходящих данных для ответов с кодами состояния HTTP 5xx (ГБ). | Да | Да |
EgressHttpStatusOthers | Объем передачи исходящих данных для ответов с другими кодами состояния HTTP (ГБ). | Да | Да |
EgressCacheHit | Передача исходящих данных для ответов, которые были доставлены непосредственно из кэша сети доставки содержимого в сети доставки содержимого в сети POPs/Edge. | Да | Да |
EgressCacheMiss. | Объем передачи исходящих данных для ответов, не найденных на ближайшем POP-сервере и полученных с сервера-источника. | Да | Да |
EgressCacheNoCache | Объем передачи исходящих данных для ресурсов, кэширование которых запрещено из-за конфигурации пользователя на границе. | Да | Да |
EgressCacheUncacheable | Передача исходящих данных для ресурсов, которые не могут кэшироваться с помощью элемента управления кэшем ресурса и или истекает срок действия заголовков. Эти заголовки указывают, что ресурс не должен кэшироваться в точке присутствия или в HTTP-клиенте. | Да | Да |
EgressCacheOthers | Объем передачи исходящих данных для других сценариев с использованием кэша. | No | Да |
*Передача исходящих данных относится к трафику, доставленном из сетевых 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
}
Дополнительные ресурсы
- Журналы диагностики Azure
- Базовая аналитика с помощью дополнительного портала Azure сеть доставки содержимого
- Журналы Azure Monitor
- Log Analytics REST API Reference (Справочник по REST API Log Analytics)