Vadim
Или вообще напиши кастомный фильтр
Aleksey
да я думал о нём
John
У меня уже есть коллега, который отвечает на не заданные вопросы. Я подозреваю что он наркоман, но выглядит он как обычный придурок :)
Gleb
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
Aleksey
как этот pgbouncer поставить на мониторинг ? коллектор пусть будет collcetd или telegraf
Александр
(подходит в случае telegraf, например)
Womchik
Aleksey
Aleksey
откуда сервис знает куда положить эту hcl-ку ?
Александр
плагин и его настройки для telegraf, перезапуск telegraf при необходимости
Aleksey
откуда сервис знает как перезапустить telegraf ?
Александр
handler свой стоит
Александр
да, приходится копировать код между ролями
Aleksey
в каждой роли есть хендлер для перезапуска telegraf?
Александр
да
Aleksey
и настройка пути для телеграфа...
Aleksey
ну ок.
Aleksey
у меня сейчас так я считаю что это херня. :)
Александр
с удовольствием послушаю лучшие варианты :)
Aleksey
первый вариант который лучше это include_role
Aleksey
тогда не надо таскать с собой в каждой роли хендлер и путь
Aleksey
но файл таскать надо
John
Парни, а как правильно логинится на хост ансиблу, если он в контейнере, а ключ для авторизации в гите?
сейчас при попытки авторизоваться, в логах ругань что файл авторизации не 600, а 666.
но файлик-то он скачивает из гита.
Что я делаю не правильно, или как сделать правильно?
Aleksey
John
пересобрать контейнер сразу с ключем?
Aleksey
секреты должны быть в секрете.
John
ну в гите есть еще и secret variables, может проще ими как-то реализовать?
Aleksey
механика этого дела описана в доке gitlab более чем достойно
Aleksey
https://docs.gitlab.com/ee/ci/ssh_keys/README.html
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
Aleksey
Mikhail
Sergey
Есть почитать?
😊)))
это работает на соглашениях. вызывается роль collectd, ей передаётся параметр через var, который берётся из item:
var: this_config=hostvars[host]['collectd_group_' ~ item]
with_items: groups
а в конфигах для соотв. группы прописаны настройки уже для конкретных софтин, устанавливаемых в данной группе.
Aleksey
Sergey
Aleksey
Aleksey
Aleksey
Aleksey
ибо вызов роли collectd предполагает что всё мониторится через него.
Aleksey
но в реальности всё через него мониторить нельзя. всегда будут исключения.
Aleksey
у меня напрашивается вариант когда есть прокси роль.
Aleksey
тоесть сервис зовет роль с фиксированным именем. monitoring и расказывает мониторингу про себя. а прокси роль зовет реальную роль. реальная роль тупая рендерилка шаблонов.
Aleksey
но в этом подходе тоже засада. как то должен быть притащен сам сервис мониторинга и его зависимости.
Aleksey
вот в какую херню это превращается.
pgbouncer зовёт monitoring, тот смотрит в словарик и видит что мониторить pgbouncer надо через pgbouncer_exporter. зовет установку оного.
у pgbouncer_exporter написано что ставить его надо через докер. зовём установку докера.
докер по результатам установки зовёт мониторинг. его мониторить надо через telegraf. мониторинг зовёт установку telegraf. потом рендерит для докера шаблоны.
ставится pgbouncer_exporter.
делается его настройка.
Александр
не, я лучше лишний хендлер скопирую
Aleksey
ставить флаг я сообразил да
Vadim
вообще где-то была рендерилка импортов, но толку от неё не очень много
Aleksey
думаю над эффективной структурой для словарика по которому делать лукапы
Aleksey
и не очень нравится что роль мониторинга god object
Vadim
хотя допилить её стоит, ибо полезно знать что при каком-то шаге вдруг импортится половина плейбуков
Aleksey
Александр
у меня всё просто пока: роль initial ставит на все хосты telegraf, роль сервиса - включает мониторинг этого сервиса в telegraf
button
Aleksey
Александр
я с таким пока не сталкивался, эту задачу не решал
Aleksey
ага. я тоже так жил. что установка телеграфа в коммон роли. но потом телеграф чото сдулся и не мог в часть серивсов.
Александр
и чем ты их сейчас мониторишь?
Aleksey
телеграфом. а там где он слился ставлю отдельно мониторилку. но это хрень и так жить нельзя
button
Нужны абстрактные роли, теги и группы