forked from godatadriven/druid-ansible
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathplaybook.yml
125 lines (109 loc) · 2.72 KB
/
playbook.yml
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
---
#- hosts: 127.0.0.1
# vars_files:
# - vars/druid.yml
# tasks:
# - name: Preflight check AWS_KEYS
# assert:
# that: druid_s3_accessKey != '<AWS_ACCESS_KEY>' and druid_s3_secretKey != '<AWS_SECRET_KEY>'
- hosts: all
become: yes
gather_facts: yes
vars_files:
- vars/druid.yml
roles:
- preflight
- commons.java
- hosts: cluster_druid_metadata_db
vars_files:
- vars/metrics.yml
become: yes
roles:
- metrics.influxdb
- metrics.grafana
post_tasks:
- name: Install influxdb python module
pip:
name: influxdb
- name: Create influxdb database for druid metrics
influxdb_database:
hostname: "{{ ansible_fqdn | default(ansible_host) | default(inventory_hostname) }}"
database_name: druid
- name: Enable graphite in package-provided config
blockinfile:
dest: "{{ influxdb_config_file }}"
marker: " # {mark} ANSIBLE MANAGED GRAPHITE ENABLEMENT BLOCK"
insertafter: ^\[\[graphite\]\]
block: |2
enabled = true
database = "druid"
templates = [
"*.*.*.*.*.* env.service.hostname.dim1.dim2.measurement*",
"*.*.*.*.* env.service.hostname.dim1.measurement*",
"*.*.*.* env.service.hostname.measurement*"
]
notify:
- restart influxdb
- name: Add kapacitor for influx db alerting
yum:
name: kapacitor
- name: Add chronograf for influxdb exploration
yum:
name: chronograf
- name: Start kapacitor and chronograf
service:
name: "{{ item }}"
state: started
with_items:
- kapacitor
- chronograf
- name: Enable systemd for services
service:
name: "{{ item }}"
enabled: yes
with_items:
- kapacitor
- chronograf
- hosts: cluster_druid_metadata_db
vars_files:
- vars/druid.yml
become: yes
roles:
- metadata.postgres-common
- { role: metadata.postgres-druid, become_user: postgres }
- hosts: cluster_druid_zookeeper
vars_files:
- vars/druid.yml
become: yes
roles:
- zookeeper
- hosts: cluster_druid:cluster_druid_zookeeper
vars_files:
- vars/druid.yml
become: yes
roles:
- commons.supervisor
- druid.druid-common
## Druid Master server ##
- hosts: druid-master
vars_files:
- vars/druid.yml
become: yes
roles:
- druid.coordinator
- druid.overlord
## Druid Query server ##
- hosts: druid-query
vars_files:
- vars/druid.yml
become: yes
roles:
- druid.broker
- druid.middle-manager
## Druid Data server ##
- hosts: cluster_druid_zookeeper:druid-data
vars_files:
- vars/druid.yml
become: yes
roles:
- druid.historical