openstack-ansible-ops/elk_metrics_6x/installPacketbeat.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

62 lines
1.5 KiB
YAML

---
- name: Install Packetbeat
hosts: hosts
become: true
vars:
haproxy_ssl: false
vars_files:
- vars/variables.yml
pre_tasks:
- include_tasks: common_task_install_elk_repo.yml
- name: Ensure packetbeat is installed
apt:
name: "{{ item }}"
state: present
update_cache: true
with_items:
- tcpdump
- packetbeat
post_tasks:
- name: Drop packetbeat conf file
template:
src: templates/packetbeat.yml.j2
dest: /etc/packetbeat/packetbeat.yml
- name: Enable and restart packetbeat
systemd:
name: "packetbeat"
enabled: true
state: restarted
- name: Load Packetbeat Dashboards
hosts: hosts[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(',' )] %}
packetbeat 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