diff options
Diffstat (limited to 'supporting/servers/roles/elk')
-rw-r--r-- | supporting/servers/roles/elk/defaults/main.yml | 4 | ||||
-rw-r--r-- | supporting/servers/roles/elk/handlers/main.yml | 8 | ||||
-rw-r--r-- | supporting/servers/roles/elk/tasks/main.yml | 60 | ||||
-rw-r--r-- | supporting/servers/roles/elk/templates/elk.conf.j2 | 14 |
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 %} |