67 lines
1.6 KiB
YAML
67 lines
1.6 KiB
YAML
|
|
- name: Agent2 - Install packages
|
|
ansible.builtin.apt:
|
|
name: "{{ item }}"
|
|
state: latest
|
|
loop: "{{ agent.packages }}"
|
|
tags:
|
|
- install_agent
|
|
|
|
- name: Agent2 - Find Group
|
|
set_fact:
|
|
my_group: "{{ group_names | first }}"
|
|
|
|
- name: Agent2 - Créer la liste des hôtes correspondant aux rôles cibles
|
|
set_fact:
|
|
hotes_filtres: >-
|
|
{{ groups[my_group] |
|
|
map('extract', hostvars) |
|
|
selectattr('role', 'in', roles_cibles) |
|
|
map(attribute='inventory_hostname') |
|
|
list }}
|
|
|
|
- name: Agent2 - Generate Server List
|
|
set_fact:
|
|
Server: "{{ hotes_filtres | join(',') }}"
|
|
|
|
- name: Agent2 - Generate ActiveServer List
|
|
set_fact:
|
|
ServerActive: "{{ hotes_filtres | join(';') }}"
|
|
|
|
- name: Agent2 - Generate agent2 config
|
|
ansible.builtin.template:
|
|
src: zabbix_agent2.conf.j2
|
|
dest: /etc/zabbix/zabbix_agent2.conf
|
|
owner: zabbix
|
|
group: zabbix
|
|
mode: 0640
|
|
|
|
- name: Agent2 - Create cert directory if zabbix_crypt=="tls"
|
|
ansible.builtin.file:
|
|
path: "/etc/zabbix/certs"
|
|
state: directory
|
|
recurse: yes
|
|
owner: zabbix
|
|
group: zabbix
|
|
when: zabbix_crypt=="tls"
|
|
|
|
- name: Agent2 - Copy Certificats
|
|
ansible.builtin.copy:
|
|
src: "{{ item }}"
|
|
dest: "/etc/zabbix/certs/{{ item }}"
|
|
owner: zabbix
|
|
group: zabbix
|
|
loop:
|
|
- "{{ zabbix_ca }}.crt"
|
|
- "{{ zabbix_agent }}.crt"
|
|
- "{{ zabbix_agent }}.key"
|
|
when: zabbix_crypt=="tls"
|
|
|
|
- name: Enable and start service zabbix agent2
|
|
ansible.builtin.service:
|
|
name: "{{ item }}"
|
|
state: restarted
|
|
enabled: true
|
|
loop:
|
|
- zabbix-agent2
|