Журналы диагностики — сеть доставки содержимого Microsoft Azure
Журналы диагностики 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). |
Имя группы ресурсов | Имя группы ресурсов, к которой принадлежат сетевые ресурсы доставки содержимого. |
Имя профиля | Имя профиля сети доставки содержимого |
Имя конечной точки | Имя конечной точки сети доставки содержимого |
Year | 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)