summaryrefslogtreecommitdiff
path: root/test/integration/targets/setup_zabbix/tasks/setup.yml
blob: 2af51f9431b3eb6fb3f3bef63069d7c9411685d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# sets up and starts Zabbix with default settings using a MySQL database.

- name: install zabbix repository key
  apt_key:
    url: "{{ zabbix_apt_repository_key }}"
    state: present

- name: install zabbix repository
  apt_repository:
    repo: "{{ zabbix_apt_repository }}"
    filename: zabbix
    state: present
  notify: remove zabbix repository

- name: check if dpkg is set to exclude specific destinations
  stat:
    path: /etc/dpkg/dpkg.cfg.d/excludes
  register: dpkg_excludes

- name: ensure documentation installations are allowed for zabbix
  lineinfile:
    path: /etc/dpkg/dpkg.cfg.d/excludes
    regexp: '^path-include=/usr/share/doc/zabbix*$'
    line: 'path-include=/usr/share/doc/zabbix*'
    state: present
  when: dpkg_excludes.stat.exists

- name: install zabbix apt dependencies
  apt:
    name: "{{ zabbix_packages }}"
    state: latest
    update_cache: yes
  notify: remove zabbix packages

- name: install zabbix-api python package
  pip:
    name: zabbix-api
    state: latest
  notify: remove zabbix pip packages

- name: create mysql user {{ db_user }}
  mysql_user:
    name: "{{ db_user }}"
    password: "{{ db_password }}"
    state: present
    priv: "{{ db_name }}.*:ALL"
    login_unix_socket: '{{ mysql_socket }}'

- name: import initial zabbix database
  mysql_db:
    name: "{{ db_name }}"
    login_user: "{{ db_user }}"
    login_password: "{{ db_password }}"
    state: import
    target: /usr/share/doc/zabbix-server-mysql/create.sql.gz

- name: deploy zabbix-server configuration
  template:
    src: zabbix_server.conf.j2
    dest: /etc/zabbix/zabbix_server.conf
    owner: root
    group: zabbix
    mode: 0640

- name: deploy zabbix web frontend configuration
  template:
    src: zabbix.conf.php.j2
    dest: /etc/zabbix/web/zabbix.conf.php
    mode: 0644

- name: Create proper run directory for zabbix-server
  file:
    path: /var/run/zabbix
    state: directory
    owner: zabbix
    group: zabbix
    mode: 0775

- name: restart zabbix-server
  service:
    name: zabbix-server
    state: restarted
    enabled: yes

- name: restart apache2
  service:
    name: apache2
    state: restarted
    enabled: yes