Приветствую, друзья! На прошлом уроке мы изучили основы работы с логами на FortiAnalyzer. Сегодня мы пойдем дальше и рассмотрим основные аспекты работы с отчетами: что из себя представляют отчеты, из чего они состоят, каким образом можно редактировать существующие и создавать новые отчеты. Как обычно, сначала немного теории, а после поработаем с отчетами на практике. Под катом представлена теоретическая часть урока, а также видеоурок, включающий в себя как теорию, так и практику.

Основная цель отчетов — объединить большие объемы данных, содержащихся в логах, и на основе имеющихся настроек представить всю полученную информацию в читабельном виде: в виде графиков, таблиц, диаграмм. На рисунке ниже приведен список предустановленных отчетов для устройств FortiGate (в нем поместились не все отчеты, но, думаю, уже из этого списка видно, что даже “из коробки” можно построить множество интересных и полезных отчетов).



Но отчеты только представляют запрошенную информацию в читабельном виде — они не содержат никаких рекомендаций по дальнейшим действиям с обнаруженными проблемами.

Главные составляющие отчетов — это чарты. Каждый отчет состоит из одного или нескольких чартов. Чарты определяют, какую информацию необходимо извлечь из логов, и в каком формате ее представить. За извлечение информации отвечают датасеты — SELECT-запросы в базу данных. Именно в датасетах точно определяется, откуда и какую именно информацию необходимо извлекать. После того, как в результате запроса появляются необходимые данные, к ним применяются настройки формата (или отображения). В результате полученные данные оформляются в таблицы, графики или диаграммы различного типа.

В SELECT-запросе используются различные команды, с помощью которых задаются условия к извлекаемой информации. Самое важное, что стоит учесть — данные команды должны применяться в определенном порядке, именно в таком порядке они приведены далее:
FROM — единственная из команд, которая является обязательной в SELECT-запросе. Она указывает на тип логов, из которых необходимо извлекать информацию;
WHERE — с помощью этой команды задаются условия к логам (например, определенное имя приложения/атаки/вируса);
GROUP BY — эта команда позволяет сгруппировать информацию по одному или нескольким интересующим столбцам;
ORDER BY — с помощью этой команды можно упорядочить вывод информации по строкам;
LIMIT — Ограничивает количество возвращаемых запросом записей.

FortiAnalyzer содержит предустановленные шаблоны для отчетов. Шаблоны являются так называемым макетом отчета — они содержат текст отчета, его чарты и макросы. С помощью шаблонов можно создавать новые отчеты, если в предустановленных требуются минимальные изменения. Однако предустановленные отчеты нельзя редактировать и удалять — можно их склонировать, и над копией производить необходимые изменения. Также есть возможность создавать собственные шаблоны для отчетов.



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

Шаблоны являются макетом для отчета, они содержат чарты и текст отчета, не более того. Сами отчеты, в свою очередь, помимо так называемого “макета” содержат различные параметры отчета: язык, шрифт, цвет текста, период генерации, фильтрация информации и так далее. Поэтому, если необходимо внести изменения только в макет отчета, можно использовать шаблоны. Если необходима дополнительная конфигурация отчета, можно редактировать сам отчет (а точнее его копию).

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



Также на FortiAnalyzer существует возможность настроить пересылку отчетов отдельным администраторам на электронную почту или их выгрузку на внешние сервера. Делается это с помощью механизма Output Profile. В каждом административном домене настраиваются отдельные Output Profiles. При конфигурации Output Profile определяются следующие параметры:

  • Форматы отсылаемых отчетов — PDF, HTML, XML или CSV;
  • Место, куда будут отсылаться отчеты. Это может быть электронная почта администратора (для этого необходимо привязать FortiAnalyzer к почтовому серверу, это мы рассматривали на прошлом уроке). Также это может быть внешний файловый сервер — FTP, SFTP, SCP;
  • Можно указать, что делать с локальными отчетами, которые остались на устройстве после пересылки — оставить их или удалить.

При необходимости есть возможность ускорить генерацию отчетов. Рассмотрим два способа:
При создании отчета FortiAnalyzer строит чарты из предварительно скомпилированных данных кэша SQL, известных как hcache. Если данные hcache не созданы при запуске отчета, система должна сначала создать hcache, а затем построить отчет. Это увеличивает время формирования отчета. Однако если новые логи для отчета не получены, при повторной генерации отчета время его генерации значительно уменьшится, поскольку данные hcache уже скомпилированы.

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

Этот процесс использует большое количество системных ресурсов (особенно для отчетов, требующих длительного времени для сборки данных), поэтому после включения необходимо наблюдать за состоянием FortiAnalyzer: сильно ли возросла нагрузка, присутствует ли критическое потребление системных ресурсов. В случае, если FortiAnalyzer не справляется с нагрузкой, данный процесс лучше отключить.

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

Второй способ ускорить генерацию отчетов — группировка:
Если одни и те же (или похожие) отчеты генерируются для различных устройств FortiGate (или других устройств Fortinet), можно значительно ускорить процесс их генерации путем группировки. Группировка отчетов может уменьшить количество таблиц hcache и ускорить время автоматического кэширования, вследствие чего ускорить генерацию отчетов.
В примере, приведенном на рисунке ниже, отчеты, в названии которых содержится строка Security_Report, группируются по параметру Device ID.



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



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

Также можете следить за обновлениями на следующих ресурсах:

Группа Вконтакте
Яндекс Дзен
Наш сайт
Телеграм канал