У меня тут спор вышел с коллегами (админами): надо ли добавлять в Docker образ с Java приложением утилиты для диагностики. В данном конкретном случае речь шла про gdb для возможности быстрого снятия дампа памяти (вспомогательный сервис течёт). Их аргументация: не превращай контейнер в виртуальку... Хм... Я всю дорогу считал, что эта сентенция про другое, про то, что не надо в один контейнер несколько логически разных сервисов пихать, но не про средства диагностики. Вот и возник вопрос, а как правильно? Какие практики на счёт средств диагностики в большом мире?
Sergei Egorov
@bsideup
в мире бытует "don't debug in prod"
плюс никто не мешает стартовать контейнер рядом с дебаг тулзами и подсоединиться к тонкому контейнеру с приложением
Victor Verbitsky
@vektory79
А я и не debug. Я про то, что что-то стряслось и надо понять что. А свести вероятность этого к нулю невозможно даже по теории.
Про подсоединиться - хотелось бы деталей, т.к. непонятно как это сделать из-за изоляции
Andrey Rebrov
@andrebrov
по идее sentry с дополнительными данымми + logs покрывает 99,9999999% случаев
Victor Verbitsky
@vektory79
@andrebrov Да. Это так. Но вот появился дедлок, или память начала стабильно съедать память. Хотя даже не обновляли сервис давно. И как быть? Собственно на этом месте и поспорили. Они считают, что "на прод надо выпускать без ошибок", а я считаю, что в общем случае это не достижимо.
Sergei Egorov
@bsideup
у нас вообще Instana которая умеет ко всем контейнерам на хосте подключаться
Andrey Rebrov
@andrebrov
а как насчет new relic?
Sergei Egorov
@bsideup
и мониторит память, делает треддампы и вот это вот всё
Andrey Rebrov
@andrebrov
он по идее может как раз записывать трейсы и это все
Sergei Egorov
@bsideup
new relic - он же мамонт
и надо вручную его подключать
а тут просто запустил привилегированный контейнер один раз на хосте - и вуаля
все контейнеры на машине мониторятся, плюс инструментирует джаву и другие платформы
Andrey Rebrov
@andrebrov
хм, надо посмотреть что за instana
Sergei Egorov
@bsideup
они клёвые и денег недавно нормально подняли чтобы ещё клёвей быть =)
им в начале создатель ByteBuddy помогал на сколько знаю
Victor Verbitsky
@vektory79
@bsideup а вот это уже интересно!!!
Sergei Egorov
@bsideup
они используют JVM Dynamic Agent Attach, в итоге даже если уже бежит JVM-ка - они подключатся к ней и проинструментируют
понаставили себе всяких CDN, понимаешь, тяжело товарищу майору :)
Kanstantsin Shautsou
@KostyaSha
имя нормальное, его хоть можно произнести и напечатать
Victor Verbitsky
@vektory79
На работе просто провайдер д... странный :-/ Они в блеклист по сигналу из роскомнадзора добавляют, но обратно не чистят. Даже если решение через пару часов было отменено. Ну и как-то туда .im целиком попал... :-( Со всеми вытекающими...
Victor Verbitsky
@vektory79
@bsideup как-то так получилось, что только сейчас зашёл на твой твитер. Увидеть свой затылок было неожиданно :-)
Sergei Egorov
@bsideup
@vektory79 ага )
Kanstantsin Shautsou
@KostyaSha
@lavcraft посмотрел фотки, там стриптиза на конфе случайно не было? А то сложно понять была ли это вообще конфа