Timur
Timur
Хоть файлбит, хоть сислог тот же
Timur
Собирать логи ансиблом - это что-то из серии гвоздей и микроскопов
Lex
ну таки да )
Lex
посмотреть разок...можно
Lex
а собирать...конечно не ок
Lex
ну если человек хочет ))
Timur
Чтобы посмотреть разок - никакой ансибл тем более не нужен
Lex
нуууу а вот тут я не согласе )
Timur
Смотреть логи ансиблом - еще большая наркомания, чем собирать их с его помощью 😜
Lex
есть 10 серверов. там есть логи. надо их быстренько глянуть - какой пример ты бы использовал?
Timur
10 серверов в любом случае быстро глянуть не получится
Lex
почему?
Lex
как раз и получится
Timur
Для 10 серверов нужно уже либо сислог поднимать, либо логстеш с файлбитом
Lex
))) вернемся к исходной задаче
Timur
А если хочется красивого интерфейса с поиском и кнопочками, то и эластик с кибаной
Lex
ну вообще да, я конечно согласен
Lex
что когда много серверов - то логи надо агрегировать. точка
Ilia
Timur
Prometheus не для логов
Timur
Splunk - оверкилл для небольшой инфраструктуры
Timur
А для большой - крайне дорог
Lev
это НО слишком дорого стоит)
Ilia
это НО слишком дорого стоит)
для небольшой инфраструктуры - бесплатная версия, до 500 mb, но в течение 5 дней после превышения трешхолда все хорошо работает и лицензию на использование мы еще не нарушаем.
Lev
500 мб и грепнуть можно 😄
Nklya
Там 500 мегов в день, а не суммарный
Алексей
Nklya
Артем
всем привет!
Артем
можно пересоздавать быстренько)
Артем
главное чтобы не отправил ничего — типа аларм меня пересоздают уже 514 раз)
Артем
так делал со спланком - нормально работало 🙂
Ждун
Спланк тоже считает генерируемые логи в день, а не суммарно
Артем
ребят у меня вопрос - может кто знает
есть ансибл роль которая вызывается через плейбук.
эта ансибл роль содержит вот такой код
- name: Add github shared key initial composer install
shell: "composer config --global github-oauth.github.com {{ composer_github_key }}"
args:
chdir: "{{ item }}"
sudo: yes
with_items: "{{ composer_applications | default([]) }}"
такое в данном контексте composer_applications ?
composer_applications не описано больше не плейбуке не переменных роли. что разрабочик хотел сделать тут? я просто не сильно силен в ансибл. нотация не совсем обычная
Vladislav 👻
Артем
https://docs.ansible.com/ansible/2.6/modules/composer_module.html
спасибо! хочу сказать что понимаю что в итоге он хотел чтобы все было установлено и лучше работать с composer_module не помнию что разработчик хотел сделать с помощью with_items: "{{ composer_applications | default([]) }}” может быть сможете обсъяснить?
Vladislav 👻
цикл по листу
Vladislav 👻
в chdir
Артем
увидел - спасибо -)
/warn
Подскажите пожалуйста, а copy замещает файл если такой существует?
Vladislav 👻
Если отличается, то да, ansible про состояние.
Vladislav 👻
Есть параметр backup
/warn
Мне наоборот нужно что бы заменяло, спасибо)
Victor
анзибл про то как придти к состоянию
Timur
Aleksey
Ребята, все привет. Сильно не пинатьте - новичек.
Есть вопрос, кто-нибудь реализовывал в playbook такую вещь:
roles:
- { role: названте_роли, when: inventory_hostname in groups название_группы }
Что-то подобие такого. ( Условие выполнение роли, если входит в определенные группы)
Никак не могу нормально написать, все ругается. Если кто-то осилил - буду благодарен за помощь
Vladislav 👻
Aleksey
Спасибо
Aleksey
Маны про такое не сильно много что дали. Да и в Гугле примеры не очень
Nklya
Потому что это один из антипаттернов использования ансибла.
Но все равно несколько раз в неделю всплывает
Vladislav 👻
Nklya
Vladislav 👻
- name: Setup nginx for Airflow
hosts: airflow-celery:&nginx
become: yes
roles:
- nginx
tags:
- nginx
Vladislav 👻
через объединение групп
Nklya
И это про другое.
Оригинальный вопрос был про условный запуск ролей в зависимости от погоды на мерсе
Vladislav 👻
в зависимости от наличия группы
Vladislav 👻
именно это и решает
Vladislav 👻
Вот ссылка, кстати: https://docs.ansible.com/ansible/2.6/user_guide/intro_patterns.html
Aleksey
могу чуть более подробно дать вводные данные
Aleksey
Сам playbooks
- name: Install servers
hosts: all
roles:
- system
- { role: nginx, when: " {{ inventory_hostname }} in groups['web1,web2']" }
Исходные данные:
Файл hosts
[all]
server1
server2
server3
server4
[web1]
server3
[web2]
server4
Aleksey
посыл примерно такой
Vladislav 👻
эээ, вы хотите в одном плейбуке с нуля все сделать? боюсь, так это не стоит делать
Aleksey
Вот так решил заморочиться, чуть ле не одним плейбуком катить на большую тонну серверов. Появился интерес, возможно ли это..
Vladislav 👻
проще создать группу nginx в которой будут группы [web1,web2] например и потом в плейбуке веба вы можете катать nginx через web:&nginx
Aleksey
Самы топчик - это маленький пример - для понимания, а так задействовано порядка 100 серверов, 20 ролей и куча групп , вот и подумал - возможно ли так реализовать через одни плейбук...
Aleksey
Aleksey
вот и думал - вдруг кто так же реализовал...
Николай 🌵
всем привет , возможно кто-то сталкивался ... есть файл .. в нём есть строка Cmnd_Alias PROCESSES = /bin/nice, /bin/kill ... нужно в конец строки дописать /usr/bin/pkill
Николай 🌵
Решение найдено .. возможно кому-то пригодиться - name: Add sudo to end of line
lineinfile:
state: present
dest: "/etc/sudoers.d/some_file"
backrefs: yes
regexp: '^(Cmnd_Alias\ PROCESSES\ =(?!.*pkill).*)\s+\n\s*$'
line: '\1 /usr/bin/pkill'
validate: '/usr/sbin/visudo -cf %s'
Nklya
А можно просто шаблоном положить и не сношаться с регулярками
Юрий
Привет. Может кто знает как на AWX 2.1.0 заставить LDAP работать?
/warn
А в чем конкретно проблема?
Oleg
Товарисчи! Есть 2 контейнер, запускаю их через плейбук (модуль докер-контейнер), 1 поднимается, а 2ой падает на ошибку, тк не может дождаться 1ый контейнер (хотя он поднт), если же через стандартный докер-композ, то все норм отрабатывается.
Victor
может просто второй не может действительно достучаться? Типо не туда стучится или не с теми параметрами?
Ilia