openstack-ansible-ops/elk_metrics_7x/installHeartbeat.yml
Duncan Martin Walker c43903e5c5 Allow user override of beat install locations
The installation locations of elastic beats are currently hardcoded
using openstack-ansible groups and cannot readily be extended to include
non-openstack hosts. This is particularly notable with auditbeat,
packetbeat and filebeat, which directly use the OSA 'hosts' group, and
metricbeat, which uses 'all'.

This commit allows these choices to be overrided by defining groups
named filebeat, metricbeat etc, with naming conventions as with the elk
integration inventory. Using integration inventories, one can include
the OSA groups within the override to extend the deployment. The defaults
are unchanged, with the exception of Metricbeat, which is now by default
deployed to the OSA groups 'hosts' and 'all_containers' instead of 'all'.

Change-Id: Ie39fc10f5749c9636c890a0417fc532f77562144
2020-02-10 09:54:19 +00:00

70 lines
1.8 KiB
YAML

---
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Set heartbeat host deployment group
hosts: kibana
gather_facts: false
connection: local
tasks:
- name: Configure deployment group when Heartbeat group not specified
block:
- name: Add hosts to dynamic inventory group
group_by:
key: heartbeat_deployment_targets
parents: kibana
when:
- inventory_hostname in groups['kibana'][:3]
when: groups['heartbeat'] is not defined
tags:
- always
- name: Install Heartbeat
hosts: "{{ groups['heartbeat'] | default(groups['heartbeat_deployment_targets'] | default([])) }}"
become: true
vars:
haproxy_ssl: false
vars_files:
- vars/variables.yml
environment: "{{ deployment_environment_variables | default({}) }}"
roles:
- role: elastic_heartbeat
tags:
- beat-install
- name: Setup heartbeat rollup
hosts: elastic-logstash[0]
become: true
vars:
haproxy_ssl: false
vars_files:
- vars/variables.yml
environment: "{{ deployment_environment_variables | default({}) }}"
roles:
- role: elastic_rollup
index_name: heartbeat
when:
- elastic_create_rollup | bool
tags:
- heartbeat
- import_playbook: fieldRefresh.yml
vars:
index_pattern: heartbeat-*