Комментарии 14
Закопайте, пожалуйста. У меня глаза вытекают.
- hosts: all
- task
run_once: true
local_action:
loop: '{{ groups.all }}'
нафига вы делаете loop, а потом ещё и делегацию на localhost, а потом ещё и run_once? Если вы хотите loop, сделайте плей на localhost. Если вы хотите делегацию, зачем взаимоотменяющие друг друга hosts: all и run_once?
В целом — код не читаемый, логика не понятна. Инвентори в ini, структура групп хаотичная, используется all для гигантского пласта полиси (100500 переменных). Группы заббикса надо задавать отдельно (вместо переиспользования групп ансибла).
со вторым — группа all для каждого инвентаря, переменные all:vars используются как переменные по умолчанию, можно задать для каждого хоста индивидуально
В тот момент, когда вы в инвентори полагаетесь на group_vars:all или all, вы теряете гибкость. Например, завтра вам делать decommission сервера, и вы его помещаете в группу decommissioned. Но ему всё равно настраивают мониторинг. Ой.
Также, если не указать hosts: all а делать host: localhost, плейбук не сможет собрать данные (Gathering Facts) а соберёт только для localhost
setup можно делегировать ровно так же (delegate facts). Если вы хотите закладываться на факты для настройки мониторинга, это означает, что вы не можете настроить его если хотя бы один сервер в down или ребутится. Чем больше серверов, тем выше шансы на это.
В целом, настройка мониторинга на фактах — не очень хорошая затея.
частично согласен с первым утверждением, не придумал как решить чтобы и роль установить и прогнать списком добавление хостов
piccadil, а в чем проблема разнести на два разных шага? Примерно так:
- hosts: all
tasks:
- name: Install agent
include_role:
name: community.zabbix.zabbix_agent # устанавливает готовую роль на хостах
tags:
- install # для удобства можно использовать тэги
- hosts: localhost
tasks:
- name: Create a new host or update an existing host's info
local_action:
...
loop: "{{ hostvars['localhost']['all'] }}"
[all:vars]
в инвентори зло однозначно.
Сделайте group_vars/all/common.yml
и будет вам счастье.
Ansible playbook для управления Windows/Linux агентами Zabbix