# Copyright 2018-2021 Intel Corporation, Anuket and others. # All rights reserved. # # 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: Clean collectd config dir path file: state: absent path: "{{ config_file_dir }}" tags: - rm_config_dir - always - name: Create collectd.d folder on remote host file: path: "{{ config_file_dir }}" force: yes state: directory tags: - always - name: enable capabilities plugin import_tasks: capabilities.yml - name: enable csv plugin import_tasks: csv.yml - name: enable default plugins import_tasks: default_read_import.yml - name: enable dpdk plugins import_tasks: dpdk.yml - name: enable exec plugin import_tasks: exec.yml - name: enable hugepages plugin import_tasks: hugepages.yml - name: enable kafka plugin import_tasks: kafka.yml - name: enable logfile plugin import_tasks: logfile.yml - name: enable logparser plugin import_tasks: logparser.yml - name: enable mcelog plugin import_tasks: mcelog.yml - name: enable network plugin import_tasks: network.yml - name: enable prometheus plugin import_tasks: prometheus.yml when: groups['prometheus_hosts'] is defined - name: enable pmu plugin import_tasks: pmu.yml - name: enable rdt plugin import_tasks: rdt.yml - name: enable rddtool plugin import_tasks: rrdtool.yml - name: enable snmp_agent plugin import_tasks: snmp_agent.yml - name: enable syslog plugin import_tasks: syslog.yml - name: enable ovs plugins import_tasks: ovs.yml - name: enable virt plugin import_tasks: virt.yml - name: enable ipmi plugin include: ipmi.yml - name: Enable unixsock plugin set_fact: collectd_plugins: "{{ collectd_plugins | union(['unixsock']) | unique }}" tags: - unixsock - name: enable uuid plugin include: uuid.yml - name: configure plugins include_role: name: collectd_config vars: collectd_conf_output_dir: /tmp/collectd.conf.d tags: - always - en_default_all - name: Copy the generated plugin configs copy: src: "{{ item.src }}" dest: "{{ item.dest }}" with_items: - { src: "/tmp/collectd.conf.d/", dest: "{{ config_file_dir }}" } - { src: "/tmp/collectd.conf", dest: "{{ config_file_dir }}/../collectd.conf" } tags: - always - en_default_all - name: Update TypesDB location lineinfile: path: "{{ config_file_dir }}../collectd.conf" regexp: '^TypesDB "/usr/share/collectd/types.db"$' line: 'TypesDB "/opt/collectd/share/collectd/types.db"' - name: Update config file location lineinfile: path: "{{ config_file_dir }}../collectd.conf" regexp: "^(.*)/tmp/collectd.conf.d(.*)$" line: '\1{{ config_file_dir }}\2' backrefs: yes tags: - always - en_default_all - name: copy additional config files include: additional_configs.yml