Статьи

Fastly Community Pack: понимание взаимодействия пользователей с анализом журналов

Как только вы узнаете, каков базовый уровень в вашей сети, вы должны начать искать ненормальные действия. Это поможет вам понять любые внезапные изменения, которые могут повлиять на общую производительность, и поможет в более простом устранении неполадок. Если вы уже кешируете с  Fastly, вы можете попытаться получить больше информации из ваших данных журнала, чтобы обеспечить более глубокую видимость. Существует несколько форматов, в которых вы можете отправлять логи от Fastly до Logentries. Вы можете выбрать либо использование стандартного формата ведения журнала Fastly, который по сути является форматом журнала Apache, либо вы можете перейти на пользовательский VCL (язык конфигурации Varnish) и использовать доступные расширения VCL, чтобы добавить больше деталей к вашим событиям журнала. В этой статье мы используем второй подход и представляем методы, которые могут использоваться пользователями Fastly в сочетании со  службой аналитики управления журналами в реальном времени Logentries  .

понимание-УБ-с-лог-анализа

Сегодня мы объявляем о выпуске нашего нового  Fastly Community Pack

оснащен несколькими мощными тегами «включай и работай», сохраненными запросами и визуализациями, которые помогают анализировать данные журнала Fastly. Пакет сообщества можно легко импортировать в вашу учетную запись Logentries, чтобы вы могли быстро просматривать журналы Fastly.

Что входит в пакет Fastly Community Pack? 

Поисковые запросы: 

  • Обнаружение устройства
  • Уникальный IP Количество
  • Запросы по: стране, региону, Центру обработки данных Fastly, коду страны, названию страны
  • Коды состояния
  • Всего хитов с течением времени
  • Среднее число хитов с течением времени
  • Всего загруженных данных

Теги и оповещения:

  • Тег 200-ОК
  • 404 — НЕ НАЙДЕНО оповещение
  • Увеличение загрузки файлов размером более 1 МБ на 20%
  • Приложение не доступно за последние 24 часа оповещения
  • тег пользователя iPad
  • пользовательский тег iPhone
  • Пользовательский тег Android
  • Настольный пользовательский тег

Графы:

  • Круговая диаграмма обнаружения устройства
  • Уникальный счетчик IP
  • Запросы по стране
  • Запросы от Fastly Datacenter
  • Столбчатая диаграмма кодов состояния
  • Хиты по графику
  • Линейный график среднего размера запроса
  • Всего загруженных данных

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

Простой механизм обнаружения устройства

Во-первых, используйте одну из переменных расширений VCL  req.http.User-Agent  , чтобы начать работу, и добавьте несколько простых операторов if в верхней части основного файла VCL.

#FASTLY recv

    if (req.request != "HEAD" && req.request != "GET" && req.request != "FASTLYPURGE") {
      return(pass);
    }
    
if (req.http.User-Agent ~ "iPad") {set req.http.X-Device = "iPad";}
else if (req.http.User-Agent ~ "iPhone" ) {set req.http.X-Device = "iPhone";}
else if (req.http.User-Agent ~ "Android" ) {set req.http.X-Device = "Android";}
else {set req.http.X-Device = "desktop";}

    return(lookup);
}

Какой бы тип компьютера или браузера не использовался для доступа к вашему кешированному приложению через Fastly, он выбирается  req.http.User-Agent . Приведенный выше пример кода представляет собой просто настройку и сокращение уже существующего стандартного формата пользовательского агента, чтобы сделать вывод журнала более читабельным и облегчить идентификацию различных типов устройств. Например, вас может заинтересовать создание набора тегов для идентификации отдельных мобильных пользователей от пользователей настольных компьютеров. Используя приведенный выше код, вы можете сохранить тип устройства в   переменной req.http.X-Device, которую затем можно использовать в выводе журнала следующим образом:

log {"syslog  LE :: client_ip="} req.http.Fastly-Client-IP {" devicetype="} req.http.X-Device;

 Отметим, что  {”devicetype =”}  является меткой для устройства  req.http.X  — это позволяет отправлять записи журнала в виде пар значений ключей (KVP), что расширяет ваши возможности поиска. Может быть полезно взглянуть на то,  как отправлять журналы из учетной записи Fastly на панель инструментов Logentries .

Логи отправляются в Logentries, что дальше?

Как только вы все настроите и успешно  загрузите Logentries журналами Fastly , пришло время использовать данные и выполнить некоторые интересные поиски. Во-первых, вы можете создать круговую диаграмму, чтобы показать распределение устройств, используемых для доступа к вашему кешированному приложению. Этот и многие другие поисковые запросы включены в  бесплатный пакет сообщества .

IMG1

Вы можете настроить свой VCL, чтобы определить, к какому типу компьютеров обращались ваши приложения, которые кэшируются на Fastly.com.

Как насчет тегов в реальном времени?

Вы можете создавать собственные теги с помощью Logentries или просто импортировать их прямо из Fastly Community Pack (обратите внимание, что имена переменных в вашем пользовательском файле VCL должны совпадать с именами переменных, определенными в загруженном файле JSON Community Pack)

IMG2

Пользовательские теги используются для обозначения важных событий или действий

Журналы, связанные с GeoIP

Одной из самых интересных функций VCL является возможность подавать в журналы приблизительное географическое местоположение, например:

  • Широта Долгота
  • город
  • Код Континента
  • Код страны
  • Имя страны
  • Почтовый индекс
  • Область
  • Код города
  • Метро Код
  • Сервер-Регион
  • Быстро ЦОД

Возможно, вы уже видели хороший пример того,  как можно использовать переменные GeoIP в сочетании с пользовательским VCL . В новом пакете Fastly Community Logentries вы можете продвинуться дальше и использовать указанные выше переменные для создания некоторых полезных графиков на основе ваших поисков.

iMG3

Учитывая текущие темпы роста, Fastly вводит в сеть 1,5 СОЗ в месяц, и со временем это будет только увеличиваться.

Вы можете получить эти данные, добавив расширение VCL в основной файл VCL

Такие пользовательские данные имеют большую ценность и потенциал. Чем больше вы будете искать, строить или анализировать, тем больше узнаете о своих пользователях.

Визуализация, связанная с размером 

Для улучшения аналитики и лучшего понимания того, что произошло в запросе, быстро добавили переменные, связанные с размером, в VCL, например:

  • Общий размер запроса
  • Общий размер заголовка
  • Общий размер тела
  • Общий размер ответа
  • Размер заголовка в ответе
  • Размер тела в ответе
  • Был ли ответ успешно завершен или нет
img6

Общее количество данных, загруженных за период времени в байтах.

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

Никогда не хватает инструментов!

Знакомство с вашими пользователями имеет решающее значение, но знание ваших данных не менее важно. Вот почему Fastly Community Pack был снабжен поиском и графиками, такими как Уникальный счетчик IP, поиск по размеру и запрос информации. Мы рекомендуем вам ознакомиться с нашими примерами оповещений об аномалиях и неактивности, включенных в этот пакет, чтобы усилить вашу первую линию защиты в мониторинге приложений. Основная причина, по которой вы должны создавать подобные оповещения, заключается в том, чтобы вы всегда имели самые свежие данные о нормальной и ненормальной активности в вашей сети, позволяя вам быстрее реагировать и решать проблему до того, как ваши пользователи заметят.