mirror of
https://gitlab.archlinux.org/archlinux/infrastructure.git
synced 2025-01-18 08:06:16 +01:00
This never worked well as irccat seems to be buggy with joining the devops channel. Additionally we are moving away from Zabbix for monitoring.
82 lines
2.6 KiB
YAML
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
|