Cin
уже 2 раза
Cin
Инфинит вообще интересные ребята
Aleksey
тоесть теперь надо будет говорить не только "добавь нод", но и добавь винтов
Aleksey
и подними rf до 3
Denis
rf3 не модно
Denis
rf2 и erasure на одну копию.
Andrey
чё появились живые пользователи вот этого?
Cin
ну я его пробовал, но не в продакшн же его тащить
Denis
слушайте, а можно как то в докере при посылке лога в syslog driver сделать так чтобы в tag он не добавлял PID docker daemon процесса ?
Andrey
logging:
driver: syslog
options:
tag: blablabla
Я вот так делаю, вроде получается весьма осмысленно и стандартно парсимо, есть проблема только с сервисами, которые внутри контейнера, думают что умные и пишут сразу в формате syslog сами, им лучше так и позволить самим писать в файлик, иначе это всё делается вложенной записью и эту матрёшку заманаешся парсить
Denis
он PID докердемона добавляет к тегу
Andrey
это вот скорее всего то что я написал, насчёт сервисов, которые сами хотят в файл писать в формате сислога, а логирутеся что то самописное или сервис какой?
Denis
аутпут контейнера
Andrey
Но в него же откуда то это берётся, включил бы дебаг по максимуму в логере и посморел/показал бы что и куда точно попадает, одно дело когда тег не верен, а другое, что это может быть и не тег вовсе (с точки зрения внешнего логера)
Denis
Какого внешнего логера ?
Denis
В параметре тег лог драйвера сислог я указываю одну строчку, в сислог поле тег приходит другое, к нему добавлен пид. В доке это тоже нарисовано но не показано как убрать и можно ли вобще
Andrey
Какого внешнего логера ?
ну на хосте с докером у тебя что rsyslog? тогда в нём, я ж говорю, до хоста у тебя похоже уже доезжает вовсе не то что ты там ожидаеш
Denis
Andrey
фик там, докер пишет там в меру своей испорченности, а приложение в нём, в меру своей, на выходе получается кака (ну так было когда я бытался бороть тот же нгинкс) легче короче такому разрешить писать самому куда ему хочется, а потом это парсить если надо
Andrey
в общем без дебага, это пустое переливание из пустого в порожнее
Denis
я не понимаю с чем вы спорите
Denis
можете открыть доку или сами попытаться сделать это
Denis
и увидите подтверждение поих слов.
Denis
*моих
Andrey
блиииин, ну первая же ссылка в гугле http://stackoverflow.com/questions/37012289/image-name-container-name-in-docker-syslog-tag-in-docker-compose
ну не нравится значение этого поля, почему не фильтровать по APP-NAME или по programname возможностей то море, ну или вон его потюнить, если так уже надо
Denis
я вот не пойму. вы троллите или что
Denis
tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
docker/redis/npmoserver_redis_1/d14fd2ad2666[44739]
44739 - PID докер демона.
app-name можно, но нам не удобно.
Denis
не тюнится он.
Andrey
я вот не пойму. вы троллите или что
Я пытаюсь понять, зачем маниакально цеплятся именно за это поле, ну вот похоже концептуальный ответ https://github.com/docker/docker/issues/12377
Denis
Потому что тег задается на старте контейнера и не меняется приложением, он определят некую группц или глобальный идентификатор сервиса. Его удобно использовать для того что бы к для диры, где будут хранится логи этого аппа, а аппнейм может меняться и его удобно менять изнутри аппа, к примеру если вам вдруг приспичило разделить лрги
Andrey
не тюнится он.
теоретически он там вроде тюнится через гошные темплейты, ну или патчить
Denis
Я вам уже 5 раз сказал в любом случае к нему в конце добавляется пид
Andrey
ну так фильтровать его не по полному совпадению, а маской name/ вроде бы
Denis
Кого фильтровать ?
Andrey
tag
Andrey
при обработке в логоре
Denis
Вы имеете ввиду обрезать его на стороне сислога ?
Andrey
ну да, ну там же вон в гитхабе обсуждение, почему они считают что так правильно, ну нравится оно им так, иначе писать свой драйвер или использовать иные способы вывода
Andrey
я например фильтрую по програмнейм кажется и не парюсь
Denis
Дело не в фильтрации
Andrey
ничё не понимаю, все эти поля и значения, как по мне только для фильтрации и нужны, ну не нравится одно, для искользования как ключа, почему не взять другое, тем более что там лежит то что надо.
Не понимаю, что может уже есть система и её не хочется, нельзя переделать, но тогда да видимо не судьба, надо переделывать докер, так как текущее поведение это похоже их принципеальный взгляд на проблему
Denis
Дело в том что если у меня апп запущен на десятке нод я хочу прописать сислог сервер и тег. По тегу хочу на сислог сервере чтобы дира создалась а в нее улеглись файлы с неймингом host-prgname-date.log а в результате получаю 10 директорий потому что в имени тега а как следствие и диры пид докер демона с каждого хоста
Denis
Почему не другое я уже вроде сказал
Denis
Да проблемы нет уже пришлось сделать реплейс тега на стороне рсислога. А тот умеет только посикс ере, и там регулярка дурацкая теперь. А всё почему ? потому что ребята захардкодили аппенд пида
Andrey
Debug line with all properties:
FROMHOST: 'host', fromhost-ip: '127.0.0.1', HOSTNAME: 'host', PRI: 27,
syslogtag 'process[1158]:', programname: 'process', APP-NAME: 'process', PROCID: '1158', MSGID: '-',
Вот скажите, что поменяется если вы раскладывать по host-prgname-date.log начнёте взяв за ключ не syslogtag а programname или APP-NAME ?
Denis
Его значение может быть изменено поставщиком приложения
Denis
И логи уедут в какое то новое место
Andrey
а точно может? или вам кажется что может? так как я когда помнится отлаживал, всегда видел что они как раз тег туда копируют
Denis
Andrey
ну тады страдать :)
Denis
да не, страданий не то чтобы много. просто стройные красивые схемку ломаютя такими дурацкими мелочами
Denis
*схемки
Andrey
это ж докер
Denis
звучит как стереотип
Sergey
Всем добрый день. Нужна помошь уважаемого сообщества )
Есть докер файл от alipne linux в котором выполняеться git clone. На машине где хост дэбиан - выполняется нормально. При переносе на CentOs git clone падает с ошибкой:
RPC failed; curl 18 transfer closed with outstanding read data remaining.
Кто виноват и что делать?
Alexey
гугл говорит, что надо
git config --global http.postBuffer 524288000
Alexey
пробовал?
Sergey
пробовал?
Нет. Мне гугл ни чего такого не сказал )
Denis
А можно в докере как то сменить имя интерфейса docker0 но чтобы потом не пришлось каждый раз указывать это имя при старте контейнера
Denis
тоесть как то задать для dockerd глобально и чтобы везде это начало работать
Sergei
https://docs.docker.com/engine/reference/commandline/dockerd/
—bridge
но бридж нужно создать вне докера, например в interfaces.
Denis
а. тоесть это будет работать ? я думал придется -b на старте каждого контейнера задавать
Sergei
нет, это опция докер-демона.
Dmitry
Подскажите, как проще всего запустить crontab в контейнере ?
Evgeny
проще всего - никак
Lex
+
🏳️ Phil
Lex
:)
Dmitry
😕
Aleksey
Evgeny
😕
Задачу свою расскажите, так будет проще
Dmitry
Есть контейнер с джанго. Мне нужно раз в минуту запускать скрипт типа python manage.py comnand_name
Aleksey
масштабировать за пределы одного хоста планируете ?
Evgeny
при старте контейнера зпускайте парлельно с основным процессом что-то что будет каждые 60 секунд запускать. я б использовал (в зависимости от версии докера) либо встроенные средства, либо смелл-барон. Ну и кронопрдобное решение типа цикла со слипом и уходом в фон
Dmitry
Artur
Гугли python periodic tasks. Решений без крона масса
Aleksey
#docker-compose.yml
....
alerta_cron:
image: my_django_server:latest
restart: always
command: /heartbeat.sh
....
#/heartbeat.sh
#!/bin/sh
sleep 60
python manage.py comnand_name
Evgeny