openstack-ansible-ops/elk_metrics_6x/installHeartbeat.yml
Kevin Carter 5c10c12a37
Update stack and add heartbeat
Heartbeat has been enabled which will allow us to check the uptime of
hosts and services.

Stack updates have been made to correct a couple templating issues and
reduce template sizes by using includes where we have common config.

Change-Id: I47e32ac4b4ce8ca3ea572d8384660011af7cde6a
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-04-18 01:30:29 -05:00

59 lines
1.5 KiB
YAML

---
- name: Install Heartbeat
hosts: utility_all
become: true
vars:
haproxy_ssl: false
vars_files:
- vars/variables.yml
pre_tasks:
- include_tasks: common_task_install_elk_repo.yml
- name: Ensure heartbeat is installed
apt:
name: "heartbeat-elastic"
state: present
update_cache: true
post_tasks:
- name: Drop heartbeat conf file
template:
src: templates/heartbeat.yml.j2
dest: /etc/heartbeat/heartbeat.yml
- name: Enable and restart heartbeat
systemd:
name: "heartbeat-elastic"
enabled: true
state: restarted
- name: Load Heartbeat Dashboards
hosts: utility_all[0]
become: true
vars_files:
- vars/variables.yml
tasks:
- name: Load templates
shell: >-
{% set IP_ARR=[] %}
{% for host in groups['elastic-logstash'] %}
{% if IP_ARR.insert(loop.index,hostvars[host]['ansible_host']) %}
{% endif %}
{% endfor %}
{% set elasticsearch_hosts = [IP_ARR | map('regex_replace', '$', ':' ~ elastic_port|string()) | map('regex_replace', '$', '"') | map('regex_replace', '^', '"') | list | join(',' )] %}
heartbeat setup
{{ item }}
-E 'output.logstash.enabled=false'
-E 'output.elasticsearch.hosts={{ elasticsearch_hosts }}'
-e -v
with_items:
- "--template"
- "--dashboards"
register: templates
until: templates | success
retries: 3
delay: 2