Skip to content
Snippets Groups Projects
Commit bb6078b4 authored by jurgenhaas's avatar jurgenhaas
Browse files

Restructure role

parent aea67cc7
No related branches found
No related tags found
No related merge requests found
---
# file: roles/netdata/tasks/apache.yml
- name: "Enable Apache Status Module"
apache2_module:
name: 'status'
state: 'present'
notify: "Restart Apache"
- name: "Apache Status Site"
template:
src: 'apache.conf'
dest: '/etc/apache2/sites-available/status{{ apache_conf_ext|default('.conf') }}'
owner: 'root'
group: 'root'
mode: 644
notify: "Restart Apache"
- name: "Enable Apache Status Site"
command: a2ensite status creates=/etc/apache2/sites-enabled/status{{ apache_conf_ext|default('.conf') }}
notify: "Restart Apache"
---
# file: roles/netdata/tasks/configure.yml
- name: "Add User to Admins"
user:
name: 'netdata'
groups: 'adm'
append: yes
- name: "Configure Registry"
ini_file:
dest: '/etc/netdata/netdata.conf'
create: yes
section: 'registry'
option: '{{ item.option }}'
value: '{{ item.value }}'
with_items:
- option: 'enabled'
value: '{{ (netdata_registry|default("pmon1") == inventory_hostname)|ternary("yes", "no") }}'
- option: 'registry to announce'
value: 'http://{{ netdata_registry|default("pmon1") }}:19999'
notify:
- "Restart NetData"
- name: "Configure NetData"
template:
src: '{{ item }}'
dest: '/etc/netdata/{{ item }}'
owner: 'root'
group: 'root'
mode: 644
backup: yes
with_items:
- 'health_alarm_notify.conf'
notify:
- "Restart NetData"
- name: "Patch Startup Script"
lineinfile:
dest: '/etc/init.d/netdata'
regexp: 'killproc -p \$\{PIDFILE\} \$DAEMON_PATH/\$DAEMON'
line: ' killproc -p ${PIDFILE} $DAEMON_PATH/$DAEMON && sleep 1'
when: ansible_lsb.major_release == '12'
- name: "Check if KSM is available"
stat: path='/sys/kernel/mm/ksm'
register: ksm
# Note: copy module doesn't work here because parent directory /sys
# is not writable, not even by root
- name: "Configure KSM"
shell: echo {{ item.value }} >/sys/kernel/mm/ksm/{{ item.file }}
with_items:
- file: 'run'
value: '1'
- file: 'sleep_millisecs'
value: '1000'
when: ksm.stat.exists
notify:
- "Restart NetData"
---
# file: roles/netdata/tasks/haproxy.yml
- name: "Add NetData User to HaProxy Group"
user:
name: 'netdata'
groups: 'haproxy'
append: yes
- name: "Configure HaProxy Plugin"
copy:
src: 'haproxy.conf'
dest: '/etc/netdata/python.d/haproxy.conf'
owner: 'netdata'
group: 'netdata'
mode: '660'
...@@ -7,168 +7,24 @@ ...@@ -7,168 +7,24 @@
- block: - block:
- name: "Install required packages" - include: prepare.yml
apt:
pkg={{ item }}
state=installed
update_cache=yes
with_items:
- zlib1g-dev
- gcc
- make
- git
- autoconf
- autogen
- automake
- pkg-config
- uuid-dev
- python-dev
- python-yaml
#FireQOS available from 15.04
#- firehol
- name: "Remove existing components"
file:
path: '{{ item }}'
state: 'absent'
with_items:
- '/opt/netdata'
- '/etc/netdata'
- '/etc/init.d/netdata'
- '/etc/logrotate.d/netdata'
when: netdata_force_reset
- name: "Ensure Directory"
file:
path='/etc/netdata/python.d'
state='directory'
- include: install.yml - include: install.yml
- name: "Add User to Admins" - include: configure.yml
user:
name: 'netdata'
groups: 'adm'
append: yes
- name: "Configure Registry"
ini_file:
dest='/etc/netdata/netdata.conf'
create=yes
section='registry'
option='{{ item.option }}'
value='{{ item.value }}'
with_items:
- option: 'enabled'
value: '{{ (netdata_registry|default("pmon1") == inventory_hostname)|ternary("yes", "no") }}'
- option: 'registry to announce'
value: 'http://{{ netdata_registry|default("pmon1") }}:19999'
notify:
- "Restart NetData"
- name: "Configure NetData"
template:
src='{{ item }}'
dest='/etc/netdata/{{ item }}'
owner='root'
group='root'
mode=644
backup=yes
with_items:
- 'health_alarm_notify.conf'
notify:
- "Restart NetData"
- name: "Patch Startup Script"
lineinfile:
dest: '/etc/init.d/netdata'
regexp: 'killproc -p \$\{PIDFILE\} \$DAEMON_PATH/\$DAEMON'
line: ' killproc -p ${PIDFILE} $DAEMON_PATH/$DAEMON && sleep 1'
when: ansible_lsb.major_release == '12'
- block:
- name: "Add NetData User to Varnish Group"
user:
name: 'netdata'
groups: 'varnish'
append: yes
when: groups['varnishserver'] is defined and inventory_hostname in groups['varnishserver']
- block:
- name: "Add NetData User to HaProxy Group"
user:
name: 'netdata'
groups: 'haproxy'
append: yes
- name: "Configure HaProxy Plugin"
copy:
src: 'haproxy.conf'
dest: '/etc/netdata/python.d/haproxy.conf'
owner: 'netdata'
group: 'netdata'
mode: '660'
when: groups['proxyserver'] is defined and inventory_hostname in groups['proxyserver']
- block:
- name: "Enable Apache Status Module"
apache2_module:
name=status
state=present
notify: "Restart Apache"
- name: "Apache Status Site"
template:
src=apache.conf
dest=/etc/apache2/sites-available/status{{ apache_conf_ext|default('.conf') }}
owner=root
group=root
mode=0644
notify: "Restart Apache"
- name: "Enable Apache Status Site"
command: a2ensite status creates=/etc/apache2/sites-enabled/status{{ apache_conf_ext|default('.conf') }}
notify: "Restart Apache"
- include: apache.yml
when: groups['webserver'] is defined and inventory_hostname in groups['webserver'] when: groups['webserver'] is defined and inventory_hostname in groups['webserver']
- name: "Configure Plugin: MySQL" - include: haproxy.yml
replace: when: groups['proxyserver'] is defined and inventory_hostname in groups['proxyserver']
dest: '/etc/netdata/python.d/mysql.conf'
regexp: '#[\s]*pass[\s]*:[\s]*'''''
replace: 'pass : ''{{ mysql_root_password|default("root") }}'''
notify:
- "Restart NetData"
- name: "Configure Alert: Softnet" - include: mysql.yml
replace: when: groups['dbserver-mysql'] is defined and inventory_hostname in groups['dbserver-mysql']
dest: '/etc/netdata/health.d/softnet.conf'
regexp: 'warn: \$this > \(\(\$status >= \$WARNING\) \? \(0\) : \(10\)\)'
replace: 'warn: $this > (($status >= $WARNING) ? (0) : (50))'
notify:
- "Restart NetData"
- name: "Check if KSM is available" - include: softnet.yml
stat: path='/sys/kernel/mm/ksm'
register: ksm
# Note: copy module doesn't work here because parent directory /sys - include: varnish.yml
# is not writable, not even by root when: groups['varnishserver'] is defined and inventory_hostname in groups['varnishserver']
- name: "Configure KSM"
shell: echo {{ item.value }} >/sys/kernel/mm/ksm/{{ item.file }}
with_items:
- file: 'run'
value: '1'
- file: 'sleep_millisecs'
value: '1000'
when: ksm.stat.exists
notify:
- "Restart NetData"
when: '"netdata" not in excluded_roles' when: '"netdata" not in excluded_roles'
---
# file: roles/netdata/tasks/mysql.yml
- name: "Configure Plugin: MySQL"
replace:
dest: '/etc/netdata/python.d/mysql.conf'
regexp: '#[\s]*pass[\s]*:[\s]*'''''
replace: 'pass : ''{{ mysql_root_password|default("root") }}'''
notify:
- "Restart NetData"
---
# file: roles/netdata/tasks/prepare.yml
- name: "Install required packages"
apt:
pkg: '{{ item }}'
state: 'installed'
update_cache: yes
with_items:
- 'zlib1g-dev'
- 'gcc'
- 'make'
- 'git'
- 'autoconf'
- 'autogen'
- 'automake'
- 'pkg-config'
- 'uuid-dev'
- 'python-dev'
- 'python-yaml'
- name: "Remove existing components"
file:
path: '{{ item }}'
state: 'absent'
with_items:
- '/opt/netdata'
- '/etc/netdata'
- '/etc/init.d/netdata'
- '/etc/logrotate.d/netdata'
when: netdata_force_reset
- name: "Ensure Directory"
file:
path: '/etc/netdata/python.d'
state: 'directory'
---
# file: roles/netdata/tasks/softnet.yml
- name: "Configure Alert: Softnet"
replace:
dest: '/etc/netdata/health.d/softnet.conf'
regexp: 'warn: \$this > \(\(\$status >= \$WARNING\) \? \(0\) : \(10\)\)'
replace: 'warn: $this > (($status >= $WARNING) ? (0) : (50))'
notify:
- "Restart NetData"
---
# file: roles/netdata/tasks/varnish.yml
- name: "Add NetData User to Varnish Group"
user:
name: 'netdata'
groups: 'varnish'
append: yes
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment