aboutsummaryrefslogtreecommitdiffstats
path: root/supporting/servers/roles/elk
diff options
context:
space:
mode:
Diffstat (limited to 'supporting/servers/roles/elk')
-rw-r--r--supporting/servers/roles/elk/defaults/main.yml4
-rw-r--r--supporting/servers/roles/elk/handlers/main.yml8
-rw-r--r--supporting/servers/roles/elk/tasks/main.yml60
-rw-r--r--supporting/servers/roles/elk/templates/elk.conf.j214
4 files changed, 86 insertions, 0 deletions
diff --git a/supporting/servers/roles/elk/defaults/main.yml b/supporting/servers/roles/elk/defaults/main.yml
new file mode 100644
index 00000000..855fc7ea
--- /dev/null
+++ b/supporting/servers/roles/elk/defaults/main.yml
@@ -0,0 +1,4 @@
+---
+services:
+ - { name: kibana, upstream: 'http://127.0.0.1:5601' }
+ - { name: elastic, upstream: 'http://127.0.0.1:9200' }
diff --git a/supporting/servers/roles/elk/handlers/main.yml b/supporting/servers/roles/elk/handlers/main.yml
new file mode 100644
index 00000000..46bd76c7
--- /dev/null
+++ b/supporting/servers/roles/elk/handlers/main.yml
@@ -0,0 +1,8 @@
+---
+- name: starting docker service
+ become: true
+ service: name=docker state=started
+
+- name: restart nginx
+ become: true
+ service: name=nginx state=restarted
diff --git a/supporting/servers/roles/elk/tasks/main.yml b/supporting/servers/roles/elk/tasks/main.yml
new file mode 100644
index 00000000..7628f378
--- /dev/null
+++ b/supporting/servers/roles/elk/tasks/main.yml
@@ -0,0 +1,60 @@
+---
+- name: adding keys
+ become: true
+ apt_key: keyserver=hkp://p80.pool.sks-keyservers.net id=0X58118E89F3A912897C070ADBF76221572C52609D
+
+- name: adding entry for ubuntu
+ become: true
+ apt_repository: repo='deb https://apt.dockerproject.org/repo ubuntu-xenial main' state=present filename='docker'
+ when: ansible_distribution == "Ubuntu" and ansible_distribution_version == "16.04"
+
+- name: installing from docker repo
+ become: true
+ shell: apt-cache policy docker-engine
+ when: ansible_distribution == "Ubuntu" and ansible_distribution_version== "16.04"
+
+- name: adding entry for ubuntu
+ become: true
+ apt_repository: repo='deb https://apt.dockerproject.org/repo ubuntu-trusty main' state=present filename='docker'
+ when: ansible_distribution == "Ubuntu" and ansible_distribution_version == "14.04"
+
+- name: updating
+ become: true
+ apt: update_cache=yes
+
+- name: installing docker engine
+ become: true
+ apt: name=docker-engine
+
+- name: pulling elasticsearch and kibana
+ become: true
+ docker_image: name={{ item }} state=present
+ with_items:
+ - elasticsearch
+ - kibana
+
+- name: setting up elasticsearch
+ become: true
+ docker_container:
+ name: esearch
+ image: elasticsearch
+ published_ports: 9200:9200
+
+- name: setting up kibana
+ become: true
+ docker_container:
+ name: kibana
+ image: kibana
+ published_ports: 5601:5601
+ links: esearch:elasticsearch
+
+- name: nginx is installed
+ become: true
+ package: name=nginx state=present
+- name: qtip server configuration is generated
+ become: true
+ template: src={{ item }}.conf.j2 dest=/etc/nginx/sites-enabled/{{ item }}.conf
+ with_items:
+ - elk
+ notify:
+ - restart nginx
diff --git a/supporting/servers/roles/elk/templates/elk.conf.j2 b/supporting/servers/roles/elk/templates/elk.conf.j2
new file mode 100644
index 00000000..271690e0
--- /dev/null
+++ b/supporting/servers/roles/elk/templates/elk.conf.j2
@@ -0,0 +1,14 @@
+# {{ ansible_managed }}
+
+# servers
+#
+{% for service in services %}
+server {
+ listen 80;
+ listen 443 ssl;
+ server_name {{ service.name }}.qtip.openzero.net;
+ location / {
+ proxy_pass {{ service.upstream }};
+ }
+}
+{% endfor %}