
bebebe
07.08.2018
10:39:26
есть рекомендации по каким событиям запускать таски

Fedor
07.08.2018
10:40:19
спорные таски либо нотифаями, либо на основании gather_facts делаю
это правильно?

Udjin
07.08.2018
10:53:08
Парни, простите за нубский вопрос:
я вот с ансиблом год уже работаю. Но так и не вкурил, как и для чего нотифаи использовать. Документацией обмазывался несколько раз, но так и не понял, зачем они нужны. Объясните пожалуйста, кому не жалко)

Google

Fedor
07.08.2018
10:53:57
я использую нотифай, например, на рестарт сервиса при изменении конфига

Udjin
07.08.2018
10:54:04
на живом примере простеньком - было бы круто

Fedor
07.08.2018
10:54:45
вот пример хороший
https://natenka.gitbooks.io/ansible-dlya-setevih-inzhenerov/content/book/4_playbooks/handlers.html

Udjin
07.08.2018
10:55:01
ну вот у меня nginx - мне его в плейбуке надо несколько раз рестартовать. Плюс в другой роли, у меня теги, по запуску которого он тоже должен рестартануться

Fedor
07.08.2018
10:55:02
кривоватый, конеяно, но механизм нотифая объясняет
чтоб не надо было во все плейбуки один и тот же код писать
пихаешь рестарт в хендлер, и нотифаем его вызываешь. если changed=yes, нотифай срабатывает

Vadim
07.08.2018
10:56:28
а ни у кого нет инструмента для анализа логов? Что-то вроде ara, только сделаное не рептилоидами?

Fedor
07.08.2018
10:56:29
хандлерс можно хранить в таске, а можно в папке handlers

Udjin
07.08.2018
10:56:44
Handlers - это специальные задачи. Они вызываются из других задач ключевым словом notify.
Эти задачи срабатывают после выполнения всех задач в сценарии (play). При этом, если несколько задач вызвали одну и ту же задачу через notify, она выполниться только один раз.
то есть если я в середине плейбука напишу рестарт nginx через notify - он у меня рестартанётся один раз в конце плея?

Fedor
07.08.2018
10:57:04
хм, нюанс :))) не знал, спасибо
видимо, да.

Google

Udjin
07.08.2018
10:57:17
вот я ж об этом)

Fedor
07.08.2018
10:57:46
это, кстати, очень хороший нюанс, чтоб лишний раз сервис не дергать тот же

Udjin
07.08.2018
10:58:42
у меня есть плей, я там серез certbot получаю сертификаты - в плее 3 раза nginx надо релоадить, последовательно.
Notify тут видимо не поможет

Fedor
07.08.2018
11:00:02
а три то зачем...

Udjin
07.08.2018
11:02:17
1 - заливка конфига nginx с location для certbot
2 - рестарт nginx
3 - получение сертификата certbot
4 - заливка конфига приложения
5 - рестарт nginx
6. Заливка самого приложения на сервер (руби-рельсы-пума)
7. Рестарт nginx для подхвата PID пумы
за этим)))

Fedor
07.08.2018
11:02:54
жесткач)
https://stackoverflow.com/questions/33931610/ansible-handler-notify-vs-register
очень хорошее объяснение
особенно, второй абзац может быть полезным

Sergey
07.08.2018
11:20:38

Udjin
07.08.2018
11:21:45
лень переделывать, роли лопатить

bebebe
07.08.2018
11:50:04

Banschikov
07.08.2018
11:55:42

Vadim
07.08.2018
11:55:42
elk, graylog?
Мне скорее "спрятать skipped" и выделить логи релевантные части для упавших хостов
Хочу странного, в общем

bebebe
07.08.2018
11:56:42
в этом нет ничего странного, логи можно завернуть в logstash, который распарсит и закинет в elk только то чно нужно,или куда-нибудь еще

Vadim
07.08.2018
11:57:28
Способ хранения и заливки - это мелочи, нужна визуализация

bebebe
07.08.2018
11:57:36
я про неё и говорю

Vadim
07.08.2018
11:58:34
Вряд ли кибана поможет, слишком много энсибловской специфики. Буду костылять значит

Google

bebebe
07.08.2018
12:00:24
и селектить оттуда

Vadim
07.08.2018
12:01:09
Хммм, стоит попробовать

bebebe
07.08.2018
12:01:16
вплоть до, плейбука такая-то группа серверов такой-то, таск такой-то

Vadim
07.08.2018
12:01:36
Чего только не сделаешь чтобы vuejs не учить

bebebe
07.08.2018
12:01:43
ненадо учить vuejs
пожалуйста, я в него могу, и он это 10-20% от того что нужно сделать в этой задаче

Vadim
07.08.2018
12:03:17
Да меня уже во дворе дразнят и смузи обливают

bebebe
07.08.2018
12:05:10
+ нужно гуглить в сторону javascript dashboard framework.
но я бы сильно не советовал, если только времени ОЧЕНЬ много и хочется почувствовать удивительный мир javascript флоры и фауны ( не советую )
потратье пару дней на elk, graylog
что бы окончательно отбить желание, загляните в любой javascript чатик в телеграмме, там вся популяция мартышек
https://docs.ansible.com/ansible/2.6/plugins/callback/logstash.html
из коробочки

Udjin
07.08.2018
12:09:19
вставлю свои пять копеек:
если логи - то только ELK + к нему - Grafana или Kibana. Мы для клиентов по всему миру юзаем этот стек, собираем логи с платформ, кластер поднят. Проблем не возникало никогда, на железо тратим 1к$ ежемесячно, все потребности бизнеса покрывает с лихвой.

nikoinlove
07.08.2018
12:11:26
а правда можно по фразе "1k$ на железо ежемесячно" сделать какие-то выводы?

Udjin
07.08.2018
12:19:41
не понял)
это просто FYI
ну я написал про стоимость железа, чтобы было понятно, что нам дешевле свою систему мониторинга поднять для 200+ машин клиентов, чем платить сервисам типа LogDna и прочим.
дешевле своё

Sergey
07.08.2018
12:56:27

Vadim
07.08.2018
12:57:22

Google

Sergey
07.08.2018
12:58:18
А это заклинание просто перед вызовом ansible-playbook вставить, или невозможно?....
Там переменная окружения же есть специальная под это дело

Vadim
07.08.2018
13:10:33
кастомеры вряд ли обрадуются отсылке своих драгоценных логов с паролями хз куда

Sergey
07.08.2018
13:53:51
но вообще я о чём-то подобном помню, тебе фактически нужно из текста снова собрать осмысленные объекты питонячьи и их обработать.

Admin
ERROR: S client not available

Terminator
07.08.2018
17:47:21
@dev0urer будет жить. Поприветствуем!
@klimenko_aa будет жить. Поприветствуем!

Alexey
08.08.2018
04:37:40
Всем утра :)
для примера, если захочу скопировать/переместить файлы с одного сервера на другой, и создать условие, 1 если файлы созданы в четные дни, скопировать их на один сервер, если созданы в нечетные дни на другой.
2 и общий размер файлов не превышает скажем 500ГБ
это можно сделать настроив роли и условия?
я не могу вопрос гуглу правильно задать.
или проще скопировать sh скрипт и его запустить?

Maksim
08.08.2018
04:48:40
Магия какая то
Я думаю не хватает условия что полнолуние и вискосный год =)

Alexey
08.08.2018
04:50:04
я просто спросил пока, можно ли так сделать, и это для примера привёл.
значит ко мне мысль пришла бредовая :))

Maksim
08.08.2018
04:53:20
Пишешь скрипт который будет копировать твои файлы в разные папки в соответствии с твоими условиями, а потому уже через synchronize копируешь на сервер

Alexey
08.08.2018
04:54:12
спасибо

Nklya
08.08.2018
05:04:08
Вот ещё кстати дичь
https://habr.com/post/419547/

Banschikov
08.08.2018
05:28:34
Всем привет! Есть host_vars файлик и в нем хранятся переменные. Можно как то сделать чтобы на выходе они отдавались в таск в формате base64 ?

Maksim
08.08.2018
05:29:12
сегодня день грязных извращенцев

Banschikov
08.08.2018
05:30:01

Maksim
08.08.2018
05:30:42
я так понимаю заказчик настаивает чтобы они не были в открытом виде ?

Google

Maksim
08.08.2018
05:31:55
тут два варианта, либо через vault либо через prompt

Banschikov
08.08.2018
05:35:13
Да там все проще. Я провижинг кластера k8s переписываю c terraform на ansible. В основном деплою креденшелы от баз данных и прочей ереси. Потом эти vars я буду скармливать модулю k8s, а они долны быть в формате base64. В terraform это решается из каробки, а вот тут чуть все сложнее
Ладно, проще руками все сделаю)

Maksim
08.08.2018
05:58:39
а чем тебе тераформ не нравится ?

Banschikov
08.08.2018
06:01:23

Maksim
08.08.2018
06:01:48
Придет пострадать немного

Sergey
08.08.2018
06:10:36

Maksim
08.08.2018
06:14:06
Наркоманы

Pavel
08.08.2018
07:21:57

Banschikov
08.08.2018
07:26:15

Pavel
08.08.2018
07:27:47

Banschikov
08.08.2018
07:28:16

Artur
08.08.2018
07:32:30
привет. есть у кого опыт с AWX ?

Gleb
08.08.2018
07:33:26
не. нету
ты первый кто решился его запустить