
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, видимо, а можно свой лог писать

Roman
06.02.2017
12:27:06

Aleksey
06.02.2017
12:27:17
SysLogHandler?

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

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

Roman
06.02.2017
12:28:39

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)

Roman
06.02.2017
13:21:18

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

Roman
06.02.2017
13:22:26

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

Roman
06.02.2017
13:23:28

Serge
06.02.2017
13:25:32
ну вот я знаю про https://github.com/docker/docker/issues/25019
но если ты готов мириться с текстовым логом не разделенным по severity, то всё вполне норм
ну и можно заставить приложение писать severity в текст и потом парсить это

Roman
06.02.2017
13:27:08

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
ну и чо бы нет
:)

Roman
06.02.2017
13:36:38

Serge
06.02.2017
13:36:58

Roman
06.02.2017
13:37:17

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

Roman
06.02.2017
13:42:21
приложение одно, процессов много.

Serge
06.02.2017
13:42:43

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 берёшь и оно поднимает пачку контейнеров

Serge
06.02.2017
13:46:03
Вот, кстати, если у меня есть приложение на django, которое работает из под nginx, gunicorn, а также использует redis, memcashed, solr и ещё чёрта в ступе, не помню уже что именно, как всё это в одном контейнере запустить? Я ни разу не админ, но надо поддерживать такую вот штуку с приоритетом "не бей лежачего". Хочется всё это как-то упростить.
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

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

Roman
06.02.2017
13:51:32

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

Roman
06.02.2017
13:52:02
ну и error ессно )

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

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

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

Roman
06.02.2017
13:59:06

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 такого пакета даже нет, навело на мысли, что не популярное решение