twwlf
прекрасно
RE
есть проблема с добавлением ELK в существущий докер композ с кучей сервисов. при этом, нужно чтобы в ELK попадали ВСЕ логи сервисов, с самого их старта. но если просто добавить три сервиса ELK в общий композ файл - все стартует рандомно и получается так, что в кибане не видны некоторые логи сервисов, которые стартонули РАНЬШЕ, чем заработал ELK стек. по идее надо стартовать ЕЛК первым, ждать пока он инициализируется и будет ждать поступления логов, и только потом начинать стартовать остальные сервисы. думаю моя проблема стандартная, и многие должны были с ней сталкиваться. что советуют лучшие собаководы в такой ситуации? можно depends_on сnавить на каждый сервис наверное - и стартовать его только после условия depends_on: elk-elasticsearch: condition: service_healthy но во-первых, надо отредактировать большой композ - поменять все сервисы таким образом. во-вторых - на тестовом коротком композе чето не завелось.. не помогает этот depends.. можно наверное еще стартовать ЕЛК стек отдельным композ файлом и потом уже стартовать основной композ с сервисами. но надо чтобы была одна сеть между этими композами. external = true читал но получается что надо сеть создавать в композе ЕЛК? хотя она вроде как предназаначена на сервисов.. некрасиво как-то.. короче хотелось бы советов..
Konstantin
отдельным стеком
Konstantin
а каким драйвером ты логи собираешь?
Anonymous
Почему при docker run .. моментально запускается и закрывается. В docker ps -a пишет started и сразу exited
smile
Парни, а когда я правлю dockerfile мне нужно заново билдить контейнер и запускать его?
Anonymous
+ shim reaped ignoring event module=libcontainerd namespace=Moby topic /tasks/delete type=*events.taskdelete
RE
а каким драйвером ты логи собираешь?
да это как раз не очень важно кмк могу GELF или syslog для других сервисов будет serilog
Danya
Сорь не туда
smile
Конечно. Это инструкция по сборке контейнера
а нет случайно какого нибудь фаст релоада(aplly changes)?
RE
зачем спрашивать, если сам знаешь как лучше? )
я не знаю как быть с очередностью стартов. сам додумываю, но хочу узнать как это делается у нормальных людей)
RE
чтобы не лепить костыли
Konstantin
никак не быть, не надо это решать
RE
ну вот..
RE
не понимаю. почему?
Anonymous
а нет случайно какого нибудь фаст релоада(aplly changes)?
Нет. Если важно в проде пересобирать контейнер без даунтайма, то это в оркестраторы и blue/green deployment
RE
никак не быть, не надо это решать
как же иначе обеспечить попадание всех логов с момента старта в ЕЛК?
Konstantin
как же иначе обеспечить попадание всех логов с момента старта в ЕЛК?
обеспечить ELK отказоустойчивость и\или буфер для логов
RE
буфер? хм.. что это еще за зверь должен быть а чем плох вариант что я предположил - просто стартовать ЕЛК первым
Konstantin
он должен быть всегда запущен, а не стартовать первым
RE
ну вот создается тестовый енв для куа
RE
его же надо первый раз стартонуть и посмотреть все логи
Konstantin
буфер - дефолтный лог json драйвер к примеру, складывает локально, ты собираешь
RE
с дефолта можно только файлбитом вроде
RE
он соберет все что есть в файле, ок.. а как потом переключиться на другой драйвер? никак..
Konstantin
а в чём проблема с файлбитом?
RE
ну как вариант. или файлбит или решить как ЕЛК первым запускать правильно
Konstantin
решай
RE
ладно спасиб еще вопрос по ЕЛК есть
RE
вот еще что не пойму в ЕЛК он стартует, открываю кибану и там нету индекса: Create index pattern Kibana uses index patterns to retrieve data from Elasticsearch indices for things like visualizations. и кнопка Check for new data
RE
что должно произойти чтобы этот индекс файл можно было с оздать?
RE
чтобы в еластике данные появились? а их туда логстеш запушает так?
RE
мне непонятны тайминги этого процесса. вроде сервис логи генерит, но данных все равно нет.
Konstantin
логстеш сам создаёт когда шлёт
RE
то есть по идее моментально должно быть? сервис лог отправил в логстеш, тот переслал в еластик и все - кибана уже может их видеть?
Konstantin
ага
RE
гуд спас
Anonymous
почитай про docker pid 1
Изначально запускал с -it, c -dit то же не помогло
Konstantin
что-то пишет тебе? что за приложение? умеет "быть запущенным"?
Anonymous
Да запуская по инструкции cloudera quickstart
Anonymous
Какая-то локальная проблема
Anonymous
Может это быть из за того что по дефолту docker использует только 2 gb ram?
Anonymous
Пишет только + shim reaped ignoring event module=libcontainerd namespace=Moby topic /tasks/delete type=*events.taskdelete
Sergey️
Может кто кратко описать, как в лейбле контейнера сделать несколько frontend'ов traefik'а?
Sergey️
Хочу на один контейнер принимать с двух хостов Для одного хоста включить вайтлист, для другого не включать
twwlf
несколько фронтендов или несколько правил?
Sergey️
несколько фронтендов или несколько правил?
Ну получается что несколько фронтендов, если я выше понятно описал
Sergey️
Допустим, сейчас стоит вот так - "traefik.frontend.rule=Host:admin.domain.com,static.domain.com"
Sergey️
хочу - traefik.frontend1.rule = Host:admin... - traefik.frontend2.rule = Host:static... - traefik.frontend1.whitelistSourceRange ...
Sergey️
Я знаю что так можно, я скорее синтаксис не могу нагуглить нормально
twwlf
я, кстати, прям не уверен, что дефолтный провайдер тебе такое позволит
twwlf
в file/KV/whatever – всё понятно, всё просто
Sergey️
Хотя возможно я тут сейчас попадаю под XY problem
Sergey️
я, кстати, прям не уверен, что дефолтный провайдер тебе такое позволит
Короче, мне real_ip форвардящийся с traefik не видно в nginx, и я решил что можно повайтлистить траефиком...
Sergey️
Только не бейте!
twwlf
тебе, возможно, сегменты помогут
smile
Парни, после того, как несколько раз собирал один и тот же образ (менял только докерфайл), появляються такие вот пустые образы. Как можно пофиксить?
Konstantin
docker system prune
smile
docker system prune
так оно же все удалит? и совсем другие работающие контейнера?
Konstantin
Читай описание
Sergey️
тебе, возможно, сегменты помогут
Они почему-то не сработали, но конкретно по моему вопросу помогло прописать в nginx set_real_ip_from traefik; traefik это сервис
smile
ага, удалает все недействительные образы. Спасибо
smile
А это нормальное поведение, когда образы с одинаковым именем не перезаписываються, а просто добавляються к списку? И теперь каждый раз, когда я пересобираю образ, нужно удалять все старые?
a1eXei
Они почему-то не сработали, но конкретно по моему вопросу помогло прописать в nginx set_real_ip_from traefik; traefik это сервис
Оо кстати, я как раз сегодня гуглил этот вопрос, эту строку просто прописать в nginx, который за traefik'ом стоит? У меня traefik -> nginx+php
Sergey️
Ну и по стандарту в location proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name;
Sergey️
Возможно в location тоже работает, но я не проверял)
a1eXei
Возможно в location тоже работает, но я не проверял)
Спс, завтра попробую. У меня nginx в качестве веб-сервера работает, так программист захотел сайты поднять
Evgenii
всем доброго вечера есть ли способ в docker-compose ограничеть максимальный размер volume ? никак не могу найти ...
smile
Парни, вопрос, запускаю образ, но он не выводиться в container ls