База знаний
Просмотр статистики CDN в Grafana с помощью плагина cdn-stats
Опубликовано Алексей Караульных on 24 February 2023 14:29

О плагине

Плагин cdn-stats передаёт статистику от нашего CDN API и отображает её на ваших дашбордах в Grafana.

Какая статистика доступна:

  • Bandwidth — ширина полосы. Вычисляется на основании суммы трафика от источника до CDN-серверов или шилдинга-источника, трафика от шилдинга источника до CDN-серверов и трафика от CDN-серверов до конечных пользователей.
  • Total Traffic — общий объём трафика. Суммируется трафик от источника до CDN-серверов или шилдинга источника, трафик от шилдинга источника до CDN-серверов и трафик от CDN-серверов до конечных пользователей.
  • Origin Traffic — трафик от источника. Отображается трафик от источника до CDN-серверов или шилдинга источника.
  • Edges Traffic — трафик от CDN-серверов. Отображается сумма трафика от шилдинга источника до CDN-серверов и трафика от CDN-серверов до конечных пользователей.
  • Shield Traffic — трафик от шилдинга источника. Отображается трафик от шилдинга источника до CDN-серверов.
  • Total Requests — общее количество запросов к CDN-серверам. Отображается сумма запросов конечных пользователей к CDN-серверам.
  • WAF requests — количество запросов, которые обработал Базовый WAF.
  • 2xx, 3xx, 4xx, 5xx Responses — количество 2xx, 3xx, 4xx и 5xx кодов ответов от CDN-серверов.
  • Image optimization — количество изображений, преобразованных с помощью Image stack.
  • Cache Hit Ratio — доля кешированного контента. Вычисляется по формуле: трафик, отданный из кеша CDN-серверов (с HTTP-заголовком Cache: HIT), разделить на количество запросов конечных пользователей.
  • Byte cache Hit Ratio — доля кешированного трафика. Вычисляется по формуле: один минус трафик от источника до CDN-серверов или шилдинга источника разделить на трафик от CDN-серверов до конечных пользователей.
  • Shield traffic ratio — эффективность шилдинга источника: на сколько больше трафика отправляется с шилдинга, в сравнении с трафиком с источника. Вычисляется по формуле: (трафик от шилдинга источника до CDN-серверов минус трафик от источника до шилдинга источника) разделить на трафик от шилдинга источника до CDN.

По каким параметрам группируется статистика:

  • Client — по ID клиента
  • Vhost — по персональному домену CDN-ресурса
  • Resource — по ID CDN-ресурсов
  • Region — по регионам
  • Country — по странам
  • Datacenter — по дата-центрам

По каким временным отрезкам (гранулярности) отображается статистика:

  • 5 минут
  • 15 минут
  • 1 час
  • 1 день

Важно. Плагин предназначен для Grafana версии 7.0 и выше.

Чтобы получать статистику CDN в Grafana, нужно:

 

Скачать и установить плагин

В этой статье дана инструкция на основе Grafana версии 9.3.2.

  1. Установите Grafana.
  2. Скачайте файл ec-cdn-stats-datasource-1.0.15.zip с последней версией плагина в GitHub.

Обратите внимание. Цифры в названии файла (1.0.15) означают версию плагина и могут меняться в зависимости от обновлений.

  1. Распакуйте содержимое архива в папку плагинов Grafana. По умолчанию это папка установки GrafanaLabs\grafana\plugins-bundled\internal.
  2. Перезапустите и авторизуйтесь в Grafana.
  3. Наведите курсор на иконку шестерёнки в меню слева — раскроются пункты раздела Configuration. Выберите пункт Data Sources.

  1. Нажмите Add data source, чтобы добавить новый ресурс для загрузки данных. В этом меню добавляются плагины.

  1. Найдите плагин cdn-stats от EdgeЦентр и нажмите на него.

Откроются настройки плагина.

  1. В разделе HTTP введите данные:
  • URL: api.edgecenter.ru
  • API key: перманентный API-токен Вашего аккаунта.

Чтобы получить API-токен, перейдите в личный кабинет в раздел ПрофильAPI-токены → нажмите Создать токен.

Вставьте полученный API-токен в поле API key.

  1. Включите переключатель Default и нажмите Save & test.

Если всё сделано правильно, отобразятся сообщения Datasource updated и You successfully authenticated as {Имя}:

Если введены неверные данные, появится ошибка. В таком случае проверьте данные и введите корректные значения.

 

Настроить дашборд

Чтобы статистика CDN отображалась в Grafana, нужно настроить дашборд — на нём вы сможете следить за графиками.

  1. Наведите курсор на иконку с четырьмя квадратами в меню слева — раскроются опции раздела Dashboards. Нажмите на + New dashboard, чтобы добавить дашборд.

  1. В открывшемся окне нажмите Add a new panel для создания панели дашборда.

Откроются настройки панели.

  1. Убедитесь, что в разделе Query в нижней части страницы установлен плагин cdn-stats в качестве источника данных панели.
  2. Выберите необходимые метрику (Metric), гранулярность (Granularity) и группировку (Group by). Вы можете выбрать несколько переменных для поля группировки. Данные сразу отобразятся на панели.
  3. (опционально) Если вы хотите отобразить на панели ещё один график с другими данными, нажмите на кнопку + Query — появится дополнительный раздел Query. Добавьте необходимые переменные.
  4. (опционально) Измените названия графиков в легенде панели. По умолчанию в названиях графиков передаются переменные полей Metric и Group by (напр.,  Total Traffic {resource”…”’). Чтобы изменить название графика, впишите его в поле Legend, указав в скобках {{}} переменную из поля Group by. Например, вместо Total Traffic {resource”…”’} введите Ресурс {{resource}} или только {{resource}}. Так, в легенде отобразятся новые названия графиков.

    7. (опционально) Для удобства вы можете изменить цвета графиков. Для этого нажмите на цвет графика в легенде и выберите новый цвет.

Grafana имеет множество других настроек кастомизации панели. Подробности в документации Grafana.

  1. Добавьте возможность фильтрации данных. Для этого нажмите на кнопку Apply. В правом верхнем углу открывшейся страницы нажмите на иконку шестерёнки. 

  1. Перейдите в раздел Variables и нажмите Add variable, чтобы добавить переменную. 

Например, чтобы добавить фильтр по ресурсам, задайте значения для полей:

  • Name — название переменной на латинице (обязательно)
  • Values for — значение для переменной: resourceID (ID ресурса), vhost (персональный домен ресурса), client (ID клиента), country (страна), region (регион) (обязательно)
  • Sort — порядок сортировки (опционально)
  • Selection Options — вид выделения элементов (опционально) (Multi-value — выбор нескольких элементов, Include All option — выбор всех элементов, значение All)

    10. Нажмите на кнопку Apply, чтобы сохранить изменения.

    11. Привяжите переменную к панели. Для этого вернитесь к панели, нажав на стрелку в левом верхнем углу страницы.

Перейдите к настройкам панели, нажав на название панели → Edit.

    12. В разделе QueryFilters введите название созданной переменной через $ в соответствующем поле. Например, если вы создали переменную с названием Resources для отображения графиков ресурсов, введите название переменной $Resources в поле Resources.

    13. Нажмите на кнопку Apply.

Готово. Фильтр появился в левом верхнем углу страницы. Теперь можно выбрать, данные каких ресурсов отобразятся на панели.

    14. Сохраните дашборд. Для этого нажмите на иконку дискеты → Save.

В том же окне можно переименовать дашборд и переместить его в другую папку.

 

(0 голос(а))
Эта статья помогла
Эта статья не помогла

Коментарии (0)