
Sander
17.02.2017
19:28:31
в итоге так ни к чему не пришли

Matvey
17.02.2017
19:28:47
надо кроном делать

Sander
17.02.2017
19:28:52
день прошел, но как делать бекап правильно или лучше, так и не решил
это я понял.
1) cron, ansible, запуск backup_container который сделает dump и запушет на s3 bucket.

Google

Sander
17.02.2017
19:31:26
1) запускатся раз в сутки cron таск для ansible
2) ansible коннектится к каждому серверу и запускает ток 1-одну таску, запускает он просто backup_container.
А так же перебрасывает временный доступ, для s3 bucket в этот контейнер, без которого он не сможет получить к нему доступа.
3) контейнер делает dump базы при помощи xtrabackup
4) заливает dump на s3
------
можно без всего этого, но тогда с prod servera, можно будет коннектится ко всем бекапам на моем бакете (но только к тем, которые пренадлежат этому сайту).
поэтому я и решил через ansible это запускать и опрокидывать доступ временный к s3, на прод сервер

Matvey
17.02.2017
19:33:42
да нормальная схема

Sander
17.02.2017
19:33:56
какая именно, это то что с ansible?
или которая без
вот еще думаю, как мне делать notify, в случаи если письмо или log, окажется с ошибкой.
new relic не пользовался я только слышал про него.
new relic, мне казалось что он платный

Matvey
17.02.2017
19:35:36
да есть халявный план

Sander
17.02.2017
19:35:37
правда что он из себя представляет я не згнаю
и что он может

nikoinlove
17.02.2017
19:36:01
Grep error && curl api.telegram.org

Google

Matvey
17.02.2017
19:36:10
он тут сейчас не очень актуален

Sander
17.02.2017
19:36:11
Привет

nikoinlove
17.02.2017
19:36:17
Нахер те почта 2017й год на дворе

Sander
17.02.2017
19:36:40
я не знаю, я спрашиваю советов как это лучше сделать

Matvey
17.02.2017
19:36:41
сделай крон таску которая запустит ансибл, который сделает сбор бэкапов и зальет куда надо.
лучше - через jenkins, но ты ведь не хочешь
колхозно - как я предложил

Sander
17.02.2017
19:37:33
стоп стоп, а зачем ansible собирать все бекапы, если я могу залить бекапы прямо с prod на s3.

Dmitry
17.02.2017
19:37:38
"у меня просто все на gitlab"
"надо копировать базы данных"
почему-то ржал в полтретьего ночи, чуть соседей не перебудил :)

Sander
17.02.2017
19:37:40
все равно мне надо делать dump

Matvey
17.02.2017
19:38:10
это уже нюансы)

Sander
17.02.2017
19:38:30
так что там с почтой
отбились от темы этой

Matvey
17.02.2017
19:38:43
у тебя две абстракци - 1) запустить ансибл, 2) сделать логи
для собирания логов пишешь плэйбук, для запуска плэйбука делаешь таску в кроне

Dmitry
17.02.2017
19:39:21
с почтой щас пацаны не шкварятся. чатботы, хипстота, мессенджеры :)

Matvey
17.02.2017
19:39:24
я не знаю как еще проще

Sander
17.02.2017
19:40:28
порядок не понятен, когда что делает
отдельный плейбук для сборки логов?

Matvey
17.02.2017
19:41:29
у тебя бэкап сервер ходит по нодам и забирает дампы, а потом заливает их в s3, верно?

Google

Sander
17.02.2017
19:42:37
ничего он не собирает, в этом нет смысла.
он прямо с prod заливает на s3 bucket.
---
backup server -> просто отправляет данные с доступом, на prod, чтоб он смог залить на s3.
но можно и собирать бекапы, но это еще больше операций
доступ на s3, у prod есть только когда, backup сервер коннектиться к prod серверу по ssh

Matvey
17.02.2017
19:44:02
чот я завис

Sander
17.02.2017
19:44:16
просто я думаю что если я буду собирать бекапы, это будет еще медленее

Matvey
17.02.2017
19:44:27
как это блять работает?)

Sander
17.02.2017
19:44:33
=================
смотри давай еще раз попробую, може я накосячил где.

Matvey
17.02.2017
19:44:55
стой стой

Sander
17.02.2017
19:44:58
в ansible же есть ansible-vault

Matvey
17.02.2017
19:45:34
да

Sander
17.02.2017
19:45:36
я могу отправить доступ к s3 в окружение контейнера

Matvey
17.02.2017
19:46:09
а как у тебя сделано так, что доступ от прода до s3 появляется когда бэкап зашел по ssh?
через iptables?
плюс какие-то скрипты?

Sander
17.02.2017
19:46:54
пока не придумал, ssh там же нет у s3.
тогда только перекидывать доступы, которые будут хранится в ansible-vault
так бы я агента мог перенаправить, если был бы ssh
SSH Agent Forwarding
в s3 же нет возможности сделать ssh? ведь так

Matvey
17.02.2017
19:47:59
один бэкап-сервер и кучка прод-серверов?

Google

Matvey
17.02.2017
19:48:05
я не работал с s3

Sander
17.02.2017
19:48:35
да, мне же надо ток запустить комманду, чтоб backup_container сделал свое дело.
но вообще после я хотел, чтоб он с s3 выкачивал бекапы куда-нибудь еще

Matvey
17.02.2017
19:50:00
мне все элементарно видится. на бэкап сервере по крону запускается ансибл, который пробегает по всему списку прод-серверов и запускает там пуш файла на s3
ключи, пароли передаются из плэйбука

Sander
17.02.2017
19:50:36
да
типо того

Matvey
17.02.2017
19:50:45
ну и все

Sander
17.02.2017
19:51:06
сам прод по сути пушит, тогда мне не придется выкачивать бекапы к себе
после завершения работы, контейнер отключается

Admin
ERROR: S client not available

Matvey
17.02.2017
19:51:33
ну ты же не хочешь проду отдавать ключи до s3?

Sander
17.02.2017
19:51:46
не хочу

Matvey
17.02.2017
19:51:52
отдавай их бэкап-сервером через ансибл и все

Sander
17.02.2017
19:52:28
я так и хотел, просто я не уверен делают ли подобное.
хотел удостовериться

Matvey
17.02.2017
19:52:50
желание на самом деле странное, но реализуемое

Sander
17.02.2017
19:53:04
мне казалось что это проще

Matvey
17.02.2017
19:53:11
видимо есть причины не отдавать ключи проду

Sander
17.02.2017
19:53:14
мне кажется*

Google

Sander
17.02.2017
19:53:37
ну мало ли роот доступ кто-то получит, чтоб бекапы не затерли мне

Matvey
17.02.2017
19:54:40
у тебя по сути ансибл с бэкапа будет ходить по ssh на прод-ноды и запускать там команду пуша на s3

Sander
17.02.2017
19:54:52
да
по поводу почту или систему какую-нибудь, которая может поставить меня в известность что случилась ошибка.
как-то можно сделать?
---
мне этот момент не очень понятен.
мы вначале думали через почту делать, теперь я так понял это уже не актуально.
---
@namelessmatt
может быть отдельное устройство или телефон, на который будут приходить все уведомления с ошибками?

Matvey
17.02.2017
19:58:04
а выхлоп выполнения плэйбука на почту не пойдет?

Sander
17.02.2017
19:58:21
так плейбук просто запустит docker container
а что в контейнере будет он не узнает
можно на почту, но я просто не понял, то на почту норм идея, то не очень
допустим на почту cron будет отсылать.
то как мне получить уведомления, если среди писем будет ошибка

Matvey
17.02.2017
19:59:27
плейбук пойдет на ноду, и запустит там контейнер. если итерация не отработает, это зафиксируется в выхлопе
никак
только открыть письмо и глянуть выхлоп
это самое простое решение для уведомлений, ты же не хочешь джэнкинс
но можно в ансибле-плэйбуке обрабатывать эти события и слать почту им

Hackru
17.02.2017
20:00:50
вот поэтому и нужен дженкинс, который будет сам ловить фейлы
говорят же человеку, как сделать, а он костыли сидит выдумывает

Sander
17.02.2017
20:01:22
ы

Hackru
17.02.2017
20:01:28
самое забавное, что скорее всего он еще из этого ничего не будет делать

Sander
17.02.2017
20:01:28
так я же спрашивал про jenkins

Hackru
17.02.2017
20:01:35
а так, зашел почесать