Добрый день!

Сегодня мы рассмотрим распространённый вопрос, с которым сталкиваются все, кто обрабатывает логи или собирается это делать и сейчас приценивается к различным решениям по обработке и хранению. Какой же объем логов в день/неделю/месяц мы будем получать из различных систем и какие ресурсы по хранению мы должны задействовать?
Однозначно точно сказать довольно сложно, но мы попробуем помочь вам примерно разобраться с предполагаемыми объемами, основываясь на нашем опыте.

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

Для примера возьмем несколько распространенных источников:

  • Windows Event Logs
  • Windows Domain
  • Cisco ASA
  • Cisco ESA
  • Cisco IPS
  • Cisco IOS
  • Palo Alto
  • *nix-syslog
  • MSExchange-mail

Сбор логов


Предварительно мы измерили среднее количество байт в одном событии в каждом источнике. Затем вычислили примерное количество событий в день, которые приходятся на один источник и рассчитали сколько логов в ГБ будет собираться с каждого источника с одного устройства.

WinEventLog
~ байт в событии = 1150
Ср. Кол событий в день (удел.) = 25 000
Гб/день (удел.) = 1150 * 25 000 / 1024^3 ? 0.03

Windows Domain
~ байт в событии = 1150
Ср. Кол событий в день (удел.) = 250 000
Гб/день (удел.) = 1150 * 250 000 / 1024^3 ? 0.3

Cisco ASA
~ байт в событии = 240
Ср. Кол событий в день (удел.) = 1 600 000
Гб/день (удел.) = 240 * 1 600 000/ 1024^3 ? 0.35

Cisco ESA
~ байт в событии = 100
Ср. Кол событий в день (удел.) = 200 000
Гб/день (удел.) = 100 * 200 000/ 1024^3 ? 0.02

Cisco IPS
~ байт в событии = 1200
Ср. Кол событий в день (удел.) = 500 000
Гб/день (удел.) = 1200 * 500 000/ 1024^3 ? 0.6

Cisco IOS
~ байт в событии = 150
Ср. Кол событий в день (удел.) = 20 000
Гб/день (удел.) = 150 * 20 000/ 1024^3 ? 0.003

Palo Alto
~ байт в событии = 400
Ср. Кол событий в день (удел.) = 500 000
Гб/день (удел.) = 400 * 500 000/ 1024^3 ? 0.2

*nix-syslog
~ байт в событии = 100
Ср. Кол событий в день (удел.) = 50 000
Гб/день (удел.) = 100 * 50 000/ 1024^3 ? 0.005

MSExchange-mail
~ байт в событии = 300
Ср. Кол событий в день (удел.) = 100 000
Гб/день (удел.) = 300 * 100 000/ 1024^3 ? 0.03

Далее, чтобы определить объем всех логов, необходимо определить, из какого количества устройств мы хотим собирать и хранить информацию. Для примера рассмотрим случай, если у нас 30 устройств, генерирующих WinEventLog, по 1 устройству – Windows Domain, Cisco ESA, Cisco IPS, Palo Alto.

1150 * 25 000 * 30 + 1150 * 250 000 + 100 * 200 000 + 1200 * 500 000 + 400 * 500 000 = 1 970 000 000 байт / сутки = 1.8347 Гб / сутки ? 12.4 Гб / неделя ? 55 Гб / месяц

Безусловно, при использовании подобного метода расчета может возникнуть существенная погрешность, так как количество логов в день зависит от множества факторов, например:

  • Количество пользователей и их роли
  • Включенные службы аудита
  • Необходимый Severity Level
  • И многое другое

Существенный плюс подобного метода, что если имеются статистические данные, то примерный объем логов можно посчитать даже на салфетке. Минус – возможная большая погрешность. Если существенные отклонения недопустимы, то можно настроить загрузку данных из всех источников в тестовую систему, например, Splunk предоставляет пробную лицензию с достаточным ресурсом для тестирования большого количество источников. Такой метод дает точный результат, но на развертывание любых тестовых систем потребуются затраты временных, трудовых и технических ресурсов.

Хранение данных


Коротко затронем еще один вопрос на тему логов: какой объем ресурсов потребуются для их хранения.

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

Затем, необходимо понять какой период исторических данных вам требуется хранить, «температуру» данных, RAID и тд. Удобный калькулятор, можно найти по этой ссылке.

Заключение


Один из актуальных вопросов, из-за которого мы и затронули тему объема логов, заключается в том, что лицензия Splunk зависит от объема индексируемых данных в день. Если вы хотите использовать для обработки своих логов Splunk, то после расчета примерного объема, можно оценить стоимость необходимой лицензии. Калькулятор лицензий можно найти тут.

Каким образом вы оцениваете объем своих логов? Делитесь в комментариях своим опытом, инструментами, интересными кейсами.

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


  1. onyxmaster
    09.06.2018 11:38

    Мы кладём логи в graylog и он показывает сколько там трафика =)
    К счастью мы туда кладём не совсем все логи, поэтому в месяц их всего 6ТБ. Если бы клали все, было бы примерно 20ТБ.