Прилетает алерт - "нет места на опенсёрче".
По ссылке в алерте захожу в Grafana - да, места почти нет, трешхолд в 20 гигабайт остатка.
Как так-то, там илонмасколлион стораджа, как он может закончится + ретеншн полиси 14 дней?
Захожу в UI OpenSearch в индекс менеджмент.
Последние дни индексы по 100-300 гигабайт в день.😬
Мысленно кричу
Ок, логов много, дискавери мне ничем не поможет в идентификации аппликейшн сорса.
Иду в Visualizations, выстраиваю фильтры, ставлю top сообщений по имени апп.
Вижу какой-то новый сервис. Назовём его
chatbot.Естественно он в топе, отрыв в 220 раз от второго места. Неплохо.
Отлично, негодяя мы нашли.
Что же ты пишешь, чудо ты наше.
Discovery по фильтру
appname=chatbot у меня подвис от количества сообщений, окно браузера само аннигилируется от потока, плюю на зависшее, иду в сам Kubernetes POD, смотреть по k logs -f podname.А там ВСЁ. Ребята, там, бл, вообще ВСЁ. Вселенная текстов и диалогов!
Ленинская библиотека не содержит в себе столько информации, как в логах этих подов.
Сразу же прилетает алёрт "места осталось 0.0001%", а в Spotify играет припев песни
Final Countdown.Гиеной ржу с трека и ситуации, но не расслабляюсь, а бегу в developer console и удаляю индекс самый старый.
А затем сразу же ещё один. Та они всего по 85 гигабайт были. Каждый.
С такой скоростью, пока буду траблшутить, снова места не станет.
Смотрю в git репозитории этого проекта, выбираю топ 2 коммитящих, а значит шарящих, инженеров.
Иду в oncall чат, вызываю обоих, пришёл только один, спрашиваю вежливо что за сервис, что делает, кхто начальник штаба?
Получаю детальное пояснение.
Вернемся двумя неделями ранее.
Разработчики запилили некий агент. Чат бот. Чат-ассистент. Не важно.
Кастомерам этого продукта понравилось, они начали своим саб-кастомерам впаривать это.
Честно говоря, я не знал и не знаю всю бизнес-структуру и как вообще проект зарабатывает с этого, но это и не важно.
В общем процесс идёт, все всем довольны.
Фича работает и развивается.
Денежки идут в карман владельцам.
Однако всё(!) общение в чат ботах пишется в stdout
То есть не логи самого приложения, а логи общения внутри чатбота попадает в stdout.🤡
И в нашу систему логирования.
Вся переписка, приватные данные, вообще всё.
Даже специально искал киворды типа token/password/phone - там есть всё!
Итоги:
- все, даже я, получили по шапке, логи общения выключили(пока не сделают фичу на фильтр того, что надо).
- разработчикам всё равно на все PCI-DSS, SOC2 и прочий аудит. Срать в логи приватными данными? Изи!
- я добавил Europe - Final Countdown в любимые треки, буду включать при повторах ситуации 😁
* История давнишняя, просто вспомнил сейчас.
