@spbpython

Страница 279 из 785
Alex
06.02.2017
12:14:02
Зачем?

Я нужен здесь

Roman
06.02.2017
12:14:21
Dmitry
06.02.2017
12:14:36
нет, пытка - это читать на перле

Google
Dmitry
06.02.2017
12:14:44
писать-то норм

хотя второе означает и первое..

Aleksey
06.02.2017
12:23:47
ребята, а как бы вы поступили? У меня есть сервис на фласке, крутиться будет под uWSGI, сервис будет работать на нескольких убунтовых серверах (14.04) Видимо, буду делать setup.py, т.к. сервис отдается админам. Дальше вопрос: как сделать так, что бы сервис писал логи в /var/log/"что-то там"? Ведь он будет запускаться от непривелегированного пользователя

запускать всё дело будет supervisor, видимо

вопрос с логированием. Вариантов ведь несколько, можно в конфиге супервизора прописать куда логировать, можно использовать лог uWSGI, видимо, а можно свой лог писать

Aleksey
06.02.2017
12:27:17
SysLogHandler?

Roman
06.02.2017
12:27:29
зачем сервису самому писать логи?

Aleksey
06.02.2017
12:28:07
необязательно )) по-этому и возник вопрос "как бы поступили"

Sergey
06.02.2017
13:02:39
я писал на пёрле, но так давно, что всё забыл

Dmitry
06.02.2017
13:16:52
напомните, ансибл это в какой чат лучше?

Alex Milushev
06.02.2017
13:17:51
https://telegram.me/pro_ansible

Google
Serge
06.02.2017
13:18:22
вопрос с логированием. Вариантов ведь несколько, можно в конфиге супервизора прописать куда логировать, можно использовать лог uWSGI, видимо, а можно свой лог писать
docker, syslog, elk, kubernetes, rancher, fluentd... там много всего... но первое слово - это решатель основных проблем на слове "видимо буду делать setup.py", пораждает пару неприятностей с логгированием в syslog, но в целом - не критично ни разу.

тут уже пару месяцев назад проскакивала идея, что docker хорош уже даже в режиме замены supervisor-а. Особенно, вместе с docker-compose, кстати.

Aleksey
06.02.2017
13:20:40
У меня был один из вариантов - в консоль, а запускающий сам пусть решает (в том же конфиге supervisor)

Serge
06.02.2017
13:21:27
вон оно уже всё умеет:) https://docs.docker.com/engine/admin/logging/overview/

Serge
06.02.2017
13:22:29
как бы стоимость плюсов контейнеров настолько выше, чем минусов, что тут сравнивай, не сравнивай, а путь один.

нет
ну я помню твою боль, но я именно про нее написал, что это не существенно

Serge
06.02.2017
13:25:32
ну вот я знаю про https://github.com/docker/docker/issues/25019

но если ты готов мириться с текстовым логом не разделенным по severity, то всё вполне норм

ну и можно заставить приложение писать severity в текст и потом парсить это

Roman
06.02.2017
13:27:08
ну вот я знаю про https://github.com/docker/docker/issues/25019
вот про этот костылизм я и говорю

Serge
06.02.2017
13:27:13
костылянство, да, но я с трудом представляю как простым образом сделать так, чтобы текстовый лог можно было категоризировать на лету

с другой стороны, можно, наверное, замапить сокет journald внутрь контейнера и писать в хостовый journald прямо из контейнера. ну а как еще?

Roman
06.02.2017
13:31:59
что мешало слушать самим этот /dev/log и форвардить в соответствующий log driver.

Google
Roman
06.02.2017
13:33:06
вместе с stderr/stdout.

Serge
06.02.2017
13:35:00
ну и чо бы нет

дело не в этом. а в том, что дофига чего хочет писать в /dev/log
погоди, но это чего от приложения зависит. или у тебя больше одного процесса в контейнере?

:)

Serge
06.02.2017
13:36:58
больше 1.
ну сам себе буратино, тогда:)

Roman
06.02.2017
13:37:17
ну сам себе буратино, тогда:)
а что, nginx только с 1 воркером запускать предлагаешь?

Serge
06.02.2017
13:39:05
погоди, ты можешь пихнуть nginx в контейнер, что само по себе вызывает вопросы, но кейс понятен. но кроме него же там ничего нет, правильно?

т.е. одно приложение, как он там свои вокеры запускает не важно уже. важно, что есть конктейнер с приложением, которое понятным образом логируется. и в этом конкретном контейнере только оно.

Serge
06.02.2017
13:42:43
ну ты сказал "1 процесс".
ну, ок. одно приложение с его тредами.

Roman
06.02.2017
13:42:52
Serge
06.02.2017
13:43:08
процессами )
в линухе это будут системные треды же

или он там прямо отдельные процессы запускает и сам их по pid-у мониторит?

Eugene
06.02.2017
13:44:44
Вот, кстати, если у меня есть приложение на django, которое работает из под nginx, gunicorn, а также использует redis, memcashed, solr и ещё чёрта в ступе, не помню уже что именно, как всё это в одном контейнере запустить? Я ни разу не админ, но надо поддерживать такую вот штуку с приоритетом "не бей лежачего". Хочется всё это как-то упростить.

Dmitry
06.02.2017
13:45:24
тебе НЕ нужно запускать это всё в одном контейнере

that's the idea

Serge
06.02.2017
13:45:37
именно

Google
Eugene
06.02.2017
13:45:40
Алилуя, аж отлегло

Dmitry
06.02.2017
13:45:51
docker-compose берёшь и оно поднимает пачку контейнеров

Eugene
06.02.2017
13:46:24
Спасибо! Буду значит ковырять

Serge
06.02.2017
13:46:41
ну и гуникорн я бы на uwsgi уж сразу заменил;)

Eugene
06.02.2017
13:47:31
Последний раз, когда смотрел в логи, там было что-то про это и deprecated.

Serge
06.02.2017
13:47:49
и тут уже попробовал и пока вроде норм. пихаю любой фронтенд сервер перед контейнером с uwsgi и ключом --http

типа получается, что оно сразу отдает из себя http, но фасадик ему, конечно, не помешает, но это может быть уже и haproxy и AWS ELB

Admin
ERROR: S client not available

Roman
06.02.2017
13:50:22
или он там прямо отдельные процессы запускает и сам их по pid-у мониторит?
nginx - процессы. ну и у него теперь пул тредов для io. у меня тоже где-то так же. несколько процессов и пул тредов.

Serge
06.02.2017
13:51:13
ну, ок. но мысль та же. это приложение мы умеем логировать. т.е. одному контейнеру - оин способ логгирования

Roman
06.02.2017
13:51:32
ты мерял?
конечно.

Serge
06.02.2017
13:51:38
я чо-то теже rps намерял танком

Serge
06.02.2017
13:52:42
но оно за ELB было в обоих случаях. в одном ELB->uwsgi, в другом - ELB->nginx+wsgi->uwsgi

ну и error ессно )
ну, по кругу ушло обсуждение. это можно, но немного гемор.

Google
Dmitry
06.02.2017
13:53:26
а по haproxy vs nginx можно комментарий?

Roman
06.02.2017
13:53:32
вообще, если только linux не надо shared state между воркерами - лучше просто плодить процессы по числу ядер.

Serge
06.02.2017
13:53:36
Dmitry
06.02.2017
13:53:43
я не про rpc, а вообще

Serge
06.02.2017
13:53:45
но говорят ELB и есть haproxy

Roman
06.02.2017
13:54:30
ну, по кругу ушло обсуждение. это можно, но немного гемор.
угу. и крайне не хочется велосипедить.

а по haproxy vs nginx можно комментарий?
смотря для чего. haproxy быстрее на больших объемах и там есть Health checking. в nginx надо будет как-то со стороны это прикручивать.

Serge
06.02.2017
13:57:32
а haproxy же не умеет ничего кроме http, да?

Roman
06.02.2017
13:59:06
а haproxy же не умеет ничего кроме http, да?
https://www.haproxy.com/doc/aloha/7.0/haproxy/healthchecks.html

Dmitry
06.02.2017
14:32:34
https://speakerdeck.com/mitsuhiko/binary-python

Презенташка Армина с PyCon Belarus 2017

Serge
06.02.2017
14:52:15
Привет!

Я так и не понял, что же мы будем делать https://www.meetup.com/spbpython/events/236816033/

@annastasy вы не надумали прислать нам кого-нибудь что-нибудь рассказать?:)

Anastasia
06.02.2017
14:55:43
Привет, я сегодня спрашивала как раз. Возможно Мехти)

А вы когда к нам?) Следующий митап?

Dmitry
06.02.2017
14:56:37
йеей :)

Serge
06.02.2017
15:25:30
А вы когда к нам?) Следующий митап?
Надо обсудить и подумать. Точно не в марте.

Sergey
06.02.2017
15:52:45
conda/anaconda в linux ведь не популярно?

Eugene
06.02.2017
15:54:42
Почему? Если не хочется заморачиваться с настройкой окружения для data science, то почему бы не использовать такой репозиторий с кучей уже настроенных пакетов?

Sergey
06.02.2017
15:56:57
в gentoo такого пакета даже нет, навело на мысли, что не популярное решение

Страница 279 из 785