47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
---
|
|
- name: Gather Docker group entries
|
|
ansible.builtin.getent:
|
|
database: group
|
|
key: "{{ monitoring_zabbix_docker_group }}"
|
|
failed_when: false
|
|
|
|
- name: Check whether Docker socket exists
|
|
ansible.builtin.stat:
|
|
path: "{{ monitoring_zabbix_docker_socket_path }}"
|
|
register: monitoring_docker_socket
|
|
|
|
- name: Ensure Zabbix agent can access Docker socket
|
|
ansible.builtin.user:
|
|
name: "{{ monitoring_zabbix_agent_user }}"
|
|
groups: "{{ monitoring_zabbix_docker_group }}"
|
|
append: yes
|
|
when:
|
|
- monitoring_docker_socket.stat.exists
|
|
- monitoring_zabbix_docker_group in (ansible_facts.getent_group | default({}))
|
|
notify: Restart Zabbix Agent
|
|
|
|
- name: Ensure Docker plugin configuration directory exists
|
|
ansible.builtin.file:
|
|
path: "{{ monitoring_zabbix_docker_plugin_config_file | dirname }}"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
when: monitoring_docker_socket.stat.exists
|
|
|
|
- name: Configure Docker plugin endpoint
|
|
ansible.builtin.template:
|
|
src: docker.conf.j2
|
|
dest: "{{ monitoring_zabbix_docker_plugin_config_file }}"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
when: monitoring_docker_socket.stat.exists
|
|
notify: Restart Zabbix Agent
|
|
|
|
- name: Remove Docker plugin configuration when Docker socket is absent
|
|
ansible.builtin.file:
|
|
path: "{{ monitoring_zabbix_docker_plugin_config_file }}"
|
|
state: absent
|
|
when: not monitoring_docker_socket.stat.exists
|
|
notify: Restart Zabbix Agent |