openstack-ansible-ops/cluster_metrics/playbook-influx-telegraf.yml

61 lines
2.5 KiB
YAML

---
# 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 }}"