9 Июня, 2018

Как определить объем ваших логов?

Евгений Ольков


Добрый день!

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

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

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

  • 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, то после расчета примерного объема, можно оценить стоимость необходимой лицензии. Калькулятор лицензий можно найти тут .

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