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 @@
- block:
- 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
#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: prepare.yml
- include: install.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'
- 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: configure.yml
- include: apache.yml
when: groups['webserver'] is defined and inventory_hostname in groups['webserver']
- 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"
- include: haproxy.yml
when: groups['proxyserver'] is defined and inventory_hostname in groups['proxyserver']
- 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"
- include: mysql.yml
when: groups['dbserver-mysql'] is defined and inventory_hostname in groups['dbserver-mysql']
- name: "Check if KSM is available"
stat: path='/sys/kernel/mm/ksm'
register: ksm
- include: softnet.yml
# 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"
- include: varnish.yml
when: groups['varnishserver'] is defined and inventory_hostname in groups['varnishserver']
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