Vadim
Или вообще напиши кастомный фильтр
Aleksey
да я думал о нём
Konstantin
не подскажите что за идиотизм, что бы собрать ансибл-контейнер, у меня на хосте должен стоять и докер и ансибл? поясню: хост1 - гитлаб+docker_registry хост2: docker. Мне нужен контейнер с ансиблом всего-то. Как его сделать не нагадив pip'ом и докером на какой-нибудь хост?
джобы выполняются в контейнере, если gitlab-runner настроен в режиме докера, просто указываешь в .gitlab-ci.yml нужный образ с ансиблом или свой собери - в нём и будут задания выполняться. типа такого чтоли, для всего ci или для конкретного задания: image: ansible/ansible:ubuntu1604
John
У меня уже есть коллега, который отвечает на не заданные вопросы. Я подозреваю что он наркоман, но выглядит он как обычный придурок :)
Ivan
приветики
Ivan
- shell: "grep '{{ item }}' /tmp/passwords | cut -d: -f2" delegate_to: "{{ item }}-files.example.com" register: passwords with_items: "{{ servers }}" ignore_errors: true
Ivan
как игнорить ошибку unreachable host {{ item }}-files.example.com ?
Aleksey
господа а как вы делаете мониторинг ? вот поставил я весь такой красивый nginx а как его замониторить ?
Womchik
Заббикс?
Vadim
нет пути
Aleksey
ну ок. забббикс.
Vadim
prometheus + grafana + https://github.com/knyar/nginx-lua-prometheus
Aleksey
роль nginx ставит сама настройки для мониторинга ?
Aleksey
частный случай nginx выбран для примера.
Vadim
zabbix неоч подходит для мониторинга апп
Aleksey
есть роль. пусть это будет pgbouncer
Александр
роль nginx ставит сама настройки для мониторинга ?
я так делаю, да - сервис, который надо мониторить, всё нужное для мониторинга себя берёт с собой
Aleksey
как этот pgbouncer поставить на мониторинг ? коллектор пусть будет collcetd или telegraf
Александр
(подходит в случае telegraf, например)
Aleksey
откуда сервис знает куда положить эту hcl-ку ?
Александр
плагин и его настройки для telegraf, перезапуск telegraf при необходимости
Aleksey
откуда сервис знает как перезапустить telegraf ?
Александр
handler свой стоит
Александр
да, приходится копировать код между ролями
Aleksey
в каждой роли есть хендлер для перезапуска telegraf?
Александр
да
Aleksey
и настройка пути для телеграфа...
Aleksey
ну ок.
Aleksey
у меня сейчас так я считаю что это херня. :)
Александр
с удовольствием послушаю лучшие варианты :)
Aleksey
первый вариант который лучше это include_role
Aleksey
тогда не надо таскать с собой в каждой роли хендлер и путь
Aleksey
но файл таскать надо
John
Парни, а как правильно логинится на хост ансиблу, если он в контейнере, а ключ для авторизации в гите? сейчас при попытки авторизоваться, в логах ругань что файл авторизации не 600, а 666. но файлик-то он скачивает из гита. Что я делаю не правильно, или как сделать правильно?
John
пересобрать контейнер сразу с ключем?
Aleksey
секреты должны быть в секрете.
John
ну в гите есть еще и secret variables, может проще ими как-то реализовать?
Aleksey
механика этого дела описана в доке gitlab более чем достойно
Aleksey
https://docs.gitlab.com/ee/ci/ssh_keys/README.html
Aleksey
с удовольствием послушаю лучшие варианты :)
дак вот таскание файла тоже хочется отменить.
Aleksey
и сделать так вот https://github.com/dj-wasabi/ansible-telegraf/blob/master/templates/telegraf-extra-plugin.conf.j2
Aleksey
вот еще похожий подход https://github.com/rossmcdonald/telegraf/blob/master/templates/telegraf.conf.j2
John
https://docs.gitlab.com/ee/ci/ssh_keys/README.html
раньше я думал что я только туп, а сейчас понял что еще и слеп :) Спасибо :D
Sergey
роль nginx ставит сама настройки для мониторинга ?
один из подходов - роль nginx передаёт свой пучок настроек мониторинга роли collectd.
Mikhail
господа а как вы делаете мониторинг ? вот поставил я весь такой красивый nginx а как его замониторить ?
Что-то оперативное - Заббикс, что-то огромное и с парсингом кучи логов - ELK + Графана.
Sergey
Есть почитать?
😊))) это работает на соглашениях. вызывается роль collectd, ей передаётся параметр через var, который берётся из item: var: this_config=hostvars[host]['collectd_group_' ~ item] with_items: groups а в конфигах для соотв. группы прописаны настройки уже для конкретных софтин, устанавливаемых в данной группе.
Mikhail
Вопрос методики а не названия продуктов
Смотрим время запросов, количество ответов >302'го, и.т.д. и.т.п. Методики уникальны под каждый случай.
Aleksey
ибо вызов роли collectd предполагает что всё мониторится через него.
Mikhail
методики постановки на мониторинг.
Роль для агента + api заббикса/графаны
Aleksey
но в реальности всё через него мониторить нельзя. всегда будут исключения.
Aleksey
у меня напрашивается вариант когда есть прокси роль.
Aleksey
тоесть сервис зовет роль с фиксированным именем. monitoring и расказывает мониторингу про себя. а прокси роль зовет реальную роль. реальная роль тупая рендерилка шаблонов.
Aleksey
но в этом подходе тоже засада. как то должен быть притащен сам сервис мониторинга и его зависимости.
Aleksey
вот в какую херню это превращается. pgbouncer зовёт monitoring, тот смотрит в словарик и видит что мониторить pgbouncer надо через pgbouncer_exporter. зовет установку оного. у pgbouncer_exporter написано что ставить его надо через докер. зовём установку докера. докер по результатам установки зовёт мониторинг. его мониторить надо через telegraf. мониторинг зовёт установку telegraf. потом рендерит для докера шаблоны. ставится pgbouncer_exporter. делается его настройка.
Александр
не, я лучше лишний хендлер скопирую
Vadim
но в этом подходе тоже засада. как то должен быть притащен сам сервис мониторинга и его зависимости.
ставь факт "monitoring_installed" и пропускай половину шагов. Вариант с прокси ролью вполне ок
Aleksey
ставить флаг я сообразил да
Vadim
вообще где-то была рендерилка импортов, но толку от неё не очень много
Aleksey
думаю над эффективной структурой для словарика по которому делать лукапы
Aleksey
и не очень нравится что роль мониторинга god object
Vadim
хотя допилить её стоит, ибо полезно знать что при каком-то шаге вдруг импортится половина плейбуков
Aleksey
не, я лучше лишний хендлер скопирую
и как разрулишь зависимости ?
Александр
у меня всё просто пока: роль initial ставит на все хосты telegraf, роль сервиса - включает мониторинг этого сервиса в telegraf
button
господа а как вы делаете мониторинг ? вот поставил я весь такой красивый nginx а как его замониторить ?
Пишем факты из роли в cmdb, и тегам их, по тегам добавляем Метрики, Логи, Трейсы
Aleksey
Александр
я с таким пока не сталкивался, эту задачу не решал
Aleksey
ага. я тоже так жил. что установка телеграфа в коммон роли. но потом телеграф чото сдулся и не мог в часть серивсов.
Александр
и чем ты их сейчас мониторишь?
Aleksey
телеграфом. а там где он слился ставлю отдельно мониторилку. но это хрень и так жить нельзя
button
Нужны абстрактные роли, теги и группы