· 13 мин чтения

OpenSearch вместо Elasticsearch для офисных логов: почему мы всем клиентам ставим форк

OpenSearch вместо Elasticsearch для офисных логов: почему мы всем клиентам ставим форк

Привет! Меня зовут Семёнов Евгений Сергеевич, я директор в компании АйТи Фреш. У нас с 2022 года действует одно строгое правило: новым клиентам мы ставим не Elasticsearch, а исключительно OpenSearch. По функционалу, конечно, разница невелика, буквально копеечная. Но вот с юридической, лицензионной и, что немаловажно, финансовой стороны это совершенно другой мир, поверьте.

История «лицензионной драмы» Elasticsearch

Если говорить совсем коротко, то до января 2021-го Elasticsearch спокойно жил под полностью свободной лицензией Apache 2.0. Amazon этим активно пользовался, зарабатывая солидные деньги на своём AWS Elasticsearch Service, при этом не отчисляя Elastic ни копейки. Естественно, Elastic посчитал это несправедливым и решил изменить лицензию на SSPL (Server Side Public License) в связке с Elastic License 2.0. Важно понимать, что эти новые лицензии абсолютно несовместимы с Open Source Definition, и, по сути, они запрещают конкурентам Elastic предлагать ES в качестве managed-сервиса.

Что же сделал Amazon в ответ? Он взял последнюю версию под Apache (это была 7.10) и форкнул её, дав ей имя OpenSearch. С того момента OpenSearch и Elasticsearch пошли совершенно разными путями: у них теперь разные команды разработчиков, хотя API-фундамент пока остаётся общим. И что самое главное, OpenSearch остаётся полностью open source под Apache 2.0, и так будет навсегда.

Для SMB это важно вот почему:

Что собирается в OpenSearch у типичного SMB-клиента

Когда мы разворачиваем стек, собираем:

ИсточникЧто даёт
Windows Event LogsСобытия входа, изменения AD, запуск служб
SysmonДетальный аудит запуска процессов, сетевых соединений
Linux syslog + journaldСистемные события на серверах
Nginx/Apache access/errorТрафик на внутренних веб-сервисах
Логи 1С (technological journal)Ошибки, медленные запросы, блокировки
Postfix/DovecotПочтовый трафик, спам, деливерабельность
Firewall (pfSense, Mikrotik)Сетевые потоки, заблокированные соединения
PostgreSQL/MSSQLМедленные запросы, dead tuples, ошибки
Audit Docker/KubernetesЗапуски контейнеров, изменения deployments

Архитектура, которую мы поставили клиенту

Наш клиент — это транспортная компания, где работают 45 сотрудников. У них 8 серверов: 3 Windows-сервера для AD, 1С и файлов, плюс 5 Linux-серверов под веб, мониторинг и 1С-базы. Мы решили собрать однонодовый кластер. Честно говоря, городить multi-node для 45 РМ просто не имеет смысла, ведь hardware overhead был бы слишком большой. Мы всегда стараемся оптимизировать.

Инфраструктура обходится в 8 400 ₽ в месяц. Никаких лицензий. Никаких годовых подписок. Только аренда железа.

Что мы сразу нашли в логах

Вот вам первая показательная история, которая меня очень впечатлила: буквально через 48 часов после запуска системы клиент увидел в логах нечто, о чём он не подозревал целых 2 года! Представьте себе, на контроллере домена обнаружились регулярные попытки подбора паролей (это events 4625), причём с одного из рабочих мест бухгалтерии. Когда мы начали разбираться, оказалось, что к ноутбуку сотрудницы был подключён старенький принтер с очень древней прошивкой, который, как выяснилось, упорно пытался авторизоваться паролем, сохранённым в нём ещё 4 года назад. Вот такие сюрпризы OpenSearch умеет подкидывать!

А вот второе открытие: логи 1С вдруг показали, что отчёт «Остатки склада на дату» выполняется аж по 40 секунд! Причина банальна — отсутствие индекса. До этого момента никто даже и не задумывался об этом, пока логи не вытащили на свет 38 таких запросов в час от одного-единственного сотрудника. Мы тут же починили SQL-индекс, и всё заняло каких-то 10 минут.

И третье, тоже очень интересное: наш nginx на внутреннем портале компании каждый божий день фиксировал от 3 до 4 тысяч обращений к совершенно несуществующим путям, вроде /.env, /admin.php, /wp-login.php. Оказалось, это боты сканировали из интернета. Портал изначально задумывался как сугубо внутренний, для своих, но почему-то «торчал» наружу, и никто его толком не защищал. Мы быстро закрыли эту лазейку, настроив ограничение по IP через nginx и добавив fail2ban. Проблема решена.

Дашборды, которые получил директор

Через неделю мы собрали в Dashboards три ключевые панели для руководства:

Что изменилось? Теперь директор каждое утро понедельника открывает эту самую страницу и буквально заваливает нас вопросами по аномалиям за прошедшую неделю. И что самое удивительное, в 80% случаев такая аномалия — это реально серьёзная проблема, которая без OpenSearch так бы и осталась незамеченной. Это бесценно.

Оповещения и алерты

OpenSearch Alerting — это отдельный плагин, идёт в комплекте. Настроили правила:

В среднем, в наш Telegram прилетает от 2 до 4 алертов в сутки. Для автоматики, конечно, это многовато — часть из них можно было бы автодопустить или автоподавить. Но практически в каждом таком сообщении есть действительно полезная информация, которую стоит анализировать.

Что делает OpenSearch, а что не делает

Важно понимать, OpenSearch — это не совсем мониторинг в классическом его понимании, как Zabbix или Prometheus. Это, скорее, мощное хранилище, предназначенное для поиска и глубокой аналитики по логам. В чём же ключевое отличие, спросите вы?

Как правило, нужны оба. В нашем кейсе Zabbix уже стоял, а OpenSearch мы добавили сверху. Они не конкуренты — они дополняют друг друга.

Стоимость и сроки

ЭтапСрокСтоимость
Проектирование и подбор серверов0.5 дня8 000 ₽
Установка OpenSearch + Dashboards0.5 дня10 000 ₽
Настройка Fluent Bit/WinLogBeat на всех хостах1 день22 000 ₽
Парсеры логов 1С, Nginx, файрвола1 день22 000 ₽
Дашборды для директора + 3 для админа1 день20 000 ₽
Настройка алертов в Telegram0.5 дня10 000 ₽
Обучение и документация0.5 дня3 000 ₽
Итого5 дней95 000 ₽

Грабли, на которые наступили

Что мы ведём на абонентке

Хотите посмотреть, что происходит в ваших логах?

Если хотите, я могу установить вам бесплатный тестовый OpenSearch на 7 дней. Мы вместе посмотрим, что на самом деле происходит в вашей инфраструктуре. Мой опыт показывает, что часто уже за первые 2–3 дня всплывает от 3 до 5 серьёзных проблем, которые раньше никто не видел. Аудит провожу по Москве и МО.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ

Чем OpenSearch отличается от Elasticsearch?
OpenSearch — форк Elasticsearch 7.10, поддерживаемый Amazon и сообществом. Функционально идентичен ES 7.10, плюс Security, Alerting, Anomaly Detection бесплатно.
Почему не ставить свежий Elasticsearch?
С 7.11 Elasticsearch под SSPL/Elastic License. Платная подписка от $16 за узел в час. Для SMB — бессмысленно.
Сколько места нужно под логи офиса на 45 человек?
Около 4 ГБ/день в индексе с репликой. За 90 дней — ~360 ГБ. Укладывается в 500 ГБ NVMe.
Сколько стоит проект в АйТи Фреш?
Базовое внедрение на 45 РМ и 8 серверов — 95 000 ₽, срок 4–5 дней. Сопровождение на абонентке.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.