О плагине
Скачать и установить плагин
Настроить дашборд
Смотрите и анализируйте статистику CDN-ресурсов в Grafana с помощью плагина cdn-stats от EdgeЦентр.
О плагине
Плагин 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 версии 7.0 и выше.
Скачать и установить плагин
В этой статье дана инструкция на основе Grafana версии 9.3.2.
2. Скачайте файл ec-cdn-stats-datasource-1.0.15.zip с последней версией плагина в GitHub.
Обратите внимание. Цифры в названии файла (1.0.15) означают версию плагина и могут меняться в зависимости от обновлений.

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

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

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

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

8. В разделе HTTP введите данные:
URL: api.edgecenter.ru
API key: перманентный API-токен вашего аккаунта.
Чтобы получить API-токен, перейдите в личный кабинет в раздел Профиль → API-токены → нажмите Создать токен.

Вставьте полученный API-токен в поле API key.
9. Включите переключатель Default и нажмите Save & test.
Если всё сделано правильно, отобразятся сообщения Datasource updated и You successfully authenticated as {Имя}:

Если введены неверные данные, появится ошибка:

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

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

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

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

Чтобы изменить название графика, впишите его в поле Legend, указав в скобках {{}} переменную из поля Group by.
Например, вместо Total Traffic {resource”…”’} введите Ресурс {{resource}} или только {{resource}}. Так, в легенде отобразятся новые названия графиков.

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

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


9. Перейдите в раздел 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. В разделе Query → Filters введите название созданной переменной через $ в соответствующем поле. Например, если вы создали переменную с названием Resources для отображения графиков ресурсов, введите название переменной $Resources в поле Resources.

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

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


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