Files
ansible/roles/zabbix_proxy/tasks/main copy.yml
2026-02-15 18:39:04 +01:00

79 lines
2.1 KiB
YAML

- name: Install Zabbix Proxy on Debian 13
vars:
zabbix_version: "7.4"
zabbix_server_ip: "192.168.77.101"
zabbix_proxy_name: "{{ inventory_hostname }}"
zabbix_db_file: "/var/lib/zabbix/zabbix_proxy.db"
become: "{{ 'no' if inventory_hostname == 'nas.home.lan' else 'yes' }}"
block:
- name: Include vault
ansible.builtin.include_vars:
file: jaydee.yml
- name: Install required packages
apt:
name:
- wget
- gnupg
- apt-transport-https
- sqlite3
state: present
update_cache: yes
- name: Download Zabbix repo package
get_url:
url: "https://repo.zabbix.com/zabbix/{{ zabbix_version }}/release/debian/pool/main/z/zabbix-release/zabbix-release_{{ zabbix_version }}-1%2Bdebian13_all.deb"
dest: /tmp/zabbix-release.deb
- name: Install Zabbix repository
apt:
deb: /tmp/zabbix-release.deb
- name: Update apt cache
apt:
update_cache: yes
- name: Install Zabbix proxy (SQLite)
apt:
name:
- zabbix-proxy-sqlite3
- zabbix-agent2
state: present
- name: Ensure Zabbix user owns database directory
file:
path: /var/lib/zabbix
owner: zabbix
group: zabbix
recurse: yes
- name: Configure Zabbix proxy
lineinfile:
path: /etc/zabbix/zabbix_proxy.conf
regexp: "^{{ item.key }}="
line: "{{ item.key }}={{ item.value }}"
loop:
- { key: "Server", value: "{{ zabbix_server_ip }}" }
- { key: "Hostname", value: "{{ zabbix_proxy_name }}" }
- { key: "DBName", value: "{{ zabbix_db_file }}" }
- { key: "ProxyMode", value: "0" }
- name: Initialize SQLite database
command: >
zcat /usr/share/zabbix/sqlite3/proxy.sql.gz | sqlite3 {{ zabbix_db_file }}
args:
creates: "{{ zabbix_db_file }}"
become_user: zabbix
- name: Restart Zabbix proxy
systemd:
name: zabbix-proxy
state: restarted
enabled: yes
- name: Restart Zabbix agent
systemd:
name: zabbix-agent2
state: restarted
enabled: yes