1
1
mirror of https://gitlab.archlinux.org/archlinux/infrastructure.git synced 2025-01-18 08:06:16 +01:00
infrastructure/roles/zabbix-server/tasks/main.yml
Jelle van der Waa 9803687204
Remove non-working irccat zabbix to irc bridge
This never worked well as irccat seems to be buggy with joining the
devops channel. Additionally we are moving away from Zabbix for
monitoring.
2020-07-13 16:07:36 +02:00

82 lines
2.6 KiB
YAML

---
- name: install packages
pacman: name=zabbix-server,zabbix-frontend-php
- name: set zabbix directory permissions in /etc
file: path=/etc/zabbix state=directory owner=root group=root mode=755
- name: install server config
template: src=zabbix_server.conf dest=/etc/zabbix/zabbix_server.conf owner=zabbix-server group=zabbix-server mode=600
notify:
- restart zabbix server
- name: install nginx config
template: src=nginx.d.conf.j2 dest=/etc/nginx/nginx.d/zabbix.conf owner=root group=root mode=644
notify:
- reload nginx
tags: ['nginx']
- name: make nginx log dir
file: path=/var/log/nginx/{{ zabbix_domain }} state=directory owner=root group=root mode=0755
- name: create zabbix db user
postgresql_user: name={{ zabbix_db_user }} password={{ vault_zabbix_db_password }} encrypted=true
become: yes
become_user: postgres
become_method: su
- name: create zabbix db
postgresql_db: db="{{ zabbix_db_name }}" owner={{ zabbix_db_user }}
become: yes
become_user: postgres
become_method: su
- name: create zabbix .pgpass
template: src=pgpass.j2 dest="{{ zabbix_pgpass }}" owner=zabbix-server group=zabbix-server mode=600
no_log: true
- name: check if zabbix db contains tables
shell: set -o pipefail && psql -U {{ zabbix_db_user }} {{ zabbix_db_name }} -c '\d' | grep -P '\(\d+ rows\)'
become_user: zabbix-server
become: yes
register: table_is_populated
failed_when: ( table_is_populated.rc not in [ 0, 1 ] )
changed_when: table_is_populated.rc != 0
- name: install database schema
shell: psql -U "{{ zabbix_db_user }}" "{{ zabbix_db_name }}" < "/usr/share/zabbix-server/postgresql/{{ item }}"
become_user: zabbix-server
become: yes
when: table_is_populated.rc != 0
with_items:
- schema.sql
- images.sql
- data.sql
- name: make zabbix web user
user: name=zabbix-web shell=/bin/false home="{{ zabbix_web_dir }}" createhome=no
- name: configure php-fpm
template:
src=php-fpm.conf.j2 dest="/etc/php/php-fpm.d/zabbix-web.conf"
owner=root group=root mode=0644
notify:
- restart php-fpm@zabbix-web
- name: install zabbix web config
template: src=zabbix.conf.php.j2 dest=/usr/share/webapps/zabbix/conf/zabbix.conf.php owner=zabbix-web group=zabbix-web mode=600
- name: run zabbix server service
service: name=zabbix-server-pgsql enabled=yes state=started
- name: start and enable systemd socket
service: name=php-fpm@zabbix-web.socket state=started enabled=true
- name: open firewall holes
firewalld: service=zabbix-server permanent=true state=enabled immediate=yes
when: configure_firewall
tags:
- firewall