--- # Copyright 2016, Rackspace US, Inc. # # 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: Deploy telegraf hosts: "all:!elk_all" gather_facts: true user: root roles: - { role: openstack-ansible-telegraf } vars_files: - vars.yml vars: telegraf_output: influxdb telegraf_output_influxdb_database: "{{ influxdb_db_name }}" telegraf_output_influxdb_username: "{{ influxdb_db_metric_user }}" telegraf_output_influxdb_password: "{{ influxdb_db_metric_password }}" telegraf_openstack_scripts_data_format: influx commands : [] telegraf_openstack_scripts: ironic: plugin_name: "ironic_nodes.py" plugin_source_path: "scripts/ironic_nodes.py" command: - "python /opt/telegraf/ironic_nodes.py" sudoers_entry: - "{{ telegraf_openstack_scripts_path }}/ironic_nodes.py" group: "{{ groups['utility_all'][0] }}" when_group: "{{ (groups['ironic_api'] | default([]) | length) > 0 }}" kvm: plugin_name: "kvm_virsh.py" plugin_source_path: "scripts/kvm_virsh.py" command: - "python /opt/telegraf/kvm_virsh.py" sudoers_entry: - "{{ telegraf_openstack_scripts_path }}/kvm_virsh.py" group: "{{ groups['nova_compute'] }}" when_group: "{{ (groups['nova_compute'] | default([]) | length) > 0 and (nova_virt_type | default('qemu') in ['kvm', 'qemu']) }}" cinder_pools_usage: plugin_name: "cinder_pools_usage.py" plugin_source_path: "scripts/cinder_pools_usage.py" command: - "python /opt/telegraf/cinder_pools_usage.py" sudoers_entry: - "{{ telegraf_openstack_scripts_path }}/cinder_pools_usage.py" group: "{{ groups['utility_all'][0] }}" when_group: "{{ (groups['cinder_volumes'] | default([]) | length) > 0 }}" telegraf_output_influxdb_targets: - "{{ influxdb_protocol|default('http') }}://{{ influxdb_host|default(hostvars[groups['cluster-metrics'][0]]['ansible_host']) }}:{{ influxdb_port }}"