Repository URL to install this package:
|
Version:
6.0.0 ▾
|
---
- name: "Include Zabbix gpg ids"
include_vars: zabbix.yml
- name: "Set some variables"
set_fact:
zabbix_short_version: "{{ zabbix_version | regex_replace('\\.', '') }}"
zabbix_server_apt_repository:
- "http://repo.zabbix.com/zabbix/{{ zabbix_version }}/{{ ansible_distribution.lower() }}/"
- "{{ ansible_distribution_release }}"
- "main"
zabbix_underscore_version: "{{ zabbix_version | regex_replace('\\.', '_') }}"
zabbix_python_prefix: "python{% if ansible_python_version is version('3', '>=') %}3{% endif %}"
when:
- ansible_machine != "aarch64"
- name: "Set some variables"
set_fact:
zabbix_short_version: "{{ zabbix_version | regex_replace('\\.', '') }}"
zabbix_server_apt_repository:
- "http://repo.zabbix.com/zabbix/{{ zabbix_version }}/{{ ansible_distribution.lower() }}-arm64/"
- "{{ ansible_distribution_release }}"
- "main"
zabbix_underscore_version: "{{ zabbix_version | regex_replace('\\.', '_') }}"
zabbix_python_prefix: "python{% if ansible_python_version is version('3', '>=') %}3{% endif %}"
when:
- ansible_machine == "aarch64"
- name: "Debian | Set some facts"
set_fact:
datafiles_path: /usr/share/zabbix-server-{{ zabbix_server_database }}
when:
- zabbix_version is version('3.0', '<')
tags:
- zabbix-server
- init
- config
- name: "Debian | Set some facts for Zabbix >= 3.0 && < 5.4"
set_fact:
datafiles_path: /usr/share/doc/zabbix-server-{{ zabbix_server_database }}
when:
- zabbix_version is version('3.0', '>=')
- zabbix_version is version('5.4', '<')
tags:
- zabbix-server
- init
- config
- name: "Debian | Set some facts for Zabbix >= 5.4"
set_fact:
datafiles_path: /usr/share/doc/zabbix-sql-scripts/{{ zabbix_server_database_long }}
when:
- zabbix_version is version('5.4', '>=')
tags:
- zabbix-server
- init
- config
- name: "Debian | Installing gnupg"
apt:
pkg: gnupg
update_cache: true
cache_valid_time: 3600
force: true
state: present
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: gnupg_installed
until: gnupg_installed is succeeded
become: true
- name: "Debian | Install gpg key"
apt_key:
id: "{{ sign_keys[zabbix_short_version][ansible_distribution_release]['sign_key'] }}"
url: http://repo.zabbix.com/zabbix-official-repo.key
register: zabbix_server_repo_files_installed
until: zabbix_server_repo_files_installed is succeeded
when:
- zabbix_repo == "zabbix"
become: true
tags:
- zabbix-server
- init
- name: "Debian | Installing repository {{ ansible_distribution }}"
apt_repository:
repo: "{{ item }} {{ zabbix_server_apt_repository | join(' ') }}"
state: present
when: zabbix_repo == "zabbix"
become: true
with_items:
- deb-src
- deb
tags:
- zabbix-server
- init
- name: "Debian | Create /etc/apt/preferences.d/"
file:
path: /etc/apt/preferences.d/
state: directory
mode: '0755'
when:
- zabbix_server_apt_priority | int
become: true
- name: "Debian | Configuring the weight for APT"
copy:
dest: "/etc/apt/preferences.d/zabbix_server-{{ zabbix_proxy_database }}"
content: |
Package: zabbix_server-{{ zabbix_proxy_database }}
Pin: origin repo.zabbix.com
Pin-Priority: {{ zabbix_server_apt_priority }}
owner: root
mode: '0644'
when:
- zabbix_server_apt_priority | int
become: true
- name: apt-get clean
shell: apt-get clean; apt-get update
args:
warn: false
changed_when: false
become: true
tags:
- skip_ansible_lint
# On certain 18.04 images, such as docker or lxc, dpkg is configured not to
# install files into paths /usr/share/doc/*
# Since this is where Zabbix installs its database schemas, we need to allow
# files to be installed to /usr/share/doc/zabbix*
- name: Check for the dpkg exclude line
command: grep -F 'path-exclude=/usr/share/doc/*' /etc/dpkg/dpkg.cfg.d/excludes
register: dpkg_exclude_line
failed_when: false
changed_when: false
check_mode: false
- name: Allow Zabbix dpkg installs to /usr/share/doc/zabbix*
lineinfile:
path: /etc/dpkg/dpkg.cfg.d/excludes
line: 'path-include=/usr/share/doc/zabbix*'
become: true
when:
- dpkg_exclude_line.rc == 0
- name: "Debian | Installing zabbix-server-{{ zabbix_server_database }}"
apt:
pkg: zabbix-server-{{ zabbix_server_database }}
state: "{{ zabbix_server_package_state }}"
update_cache: true
cache_valid_time: 0
install_recommends: "{{ zabbix_server_install_recommends }}"
default_release: "{{ ansible_distribution_release }}"
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_package_installed
until: zabbix_server_package_installed is succeeded
become: true
tags:
- zabbix-server
- init
- name: "Debian | Installing zabbix-sql-scripts"
apt:
pkg: zabbix-sql-scripts
state: "{{ zabbix_server_package_state }}"
update_cache: true
cache_valid_time: 0
install_recommends: "{{ zabbix_server_install_recommends }}"
default_release: "{{ ansible_distribution_release }}"
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_package_sql_installed
until: zabbix_server_package_sql_installed is succeeded
when:
- zabbix_version is version('5.4', '>=')
become: true
tags:
- zabbix-server
- init
- name: "Debian | Install Ansible module dependencies"
apt:
name: "{{ zabbix_python_prefix }}-psycopg2"
state: present
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_dependencies_installed
until: zabbix_server_dependencies_installed is succeeded
become: true
when:
- zabbix_database_creation
tags:
- zabbix-server
- init
- name: "Debian | Install Mysql Client package"
apt:
name:
- default-mysql-client
- "{{ zabbix_python_prefix }}-mysqldb"
state: present
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_dependencies_installed
until: zabbix_server_dependencies_installed is succeeded
become: true
when:
- zabbix_server_database == 'mysql'
- zabbix_server_install_database_client
- ansible_distribution_release != "buster"
tags:
- zabbix-server
- init
- database
- name: "Debian 10 | Install Mysql Client package"
apt:
name:
- mariadb-client
- "{{ zabbix_python_prefix }}-mysqldb"
state: present
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_dependencies_installed
until: zabbix_server_dependencies_installed is succeeded
become: true
when:
- zabbix_server_database == 'mysql'
- zabbix_server_install_database_client
- ansible_distribution_release == "buster"
tags:
- zabbix-server
- init
- database
- name: "Debian | Install PostgreSQL Client package"
apt:
name: postgresql-client
state: present
environment:
http_proxy: "{{ zabbix_http_proxy | default(None) | default(omit) }}"
https_proxy: "{{ zabbix_https_proxy | default(None) | default(omit) }}"
register: zabbix_server_dependencies_installed
until: zabbix_server_dependencies_installed is succeeded
become: true
when:
- zabbix_server_database == 'pgsql'
- zabbix_server_install_database_client
tags:
- zabbix-server
- init
- database