By default, the *df* pluggin for collectd, which monitors filesystem usage, collects data about all mounted filesystems. It can be configured to ignore some filesystems, either by mount point, device, or filesystem type. We will uses this capability to avoid collecting data about OverlayFS mounts, because by definition, they do not represent a real filesystem, but one or more other mounted filesystems. Collecting data about these just creates useless metrics, especially on machines that run containers.
112 lines
2.4 KiB
YAML
112 lines
2.4 KiB
YAML
- name: load distribution-specific values
|
|
include_vars: '{{ item }}'
|
|
with_first_found:
|
|
- '{{ ansible_distribution }}.yml'
|
|
- defaults.yml
|
|
tags:
|
|
- always
|
|
|
|
- name: ensure collectd is installed
|
|
package:
|
|
name: '{{ collectd_packages }}'
|
|
state: present
|
|
tags:
|
|
- install
|
|
|
|
- name: ensure collectd is configured
|
|
template:
|
|
src: collectd.conf.j2
|
|
dest: /etc/collectd.conf
|
|
mode: '0644'
|
|
notify:
|
|
- restart collectd
|
|
tags:
|
|
- collectd-config
|
|
|
|
- name: ensure collectd directory exists
|
|
file:
|
|
path: /etc/collectd
|
|
mode: 'u=rwx,go=rx'
|
|
state: directory
|
|
tags:
|
|
- collectd-config
|
|
- collectd-typesdb
|
|
- name: ensure collectd local types.db exists
|
|
copy:
|
|
src: types.db.local
|
|
dest: /etc/collectd/
|
|
mode: 'u=rw,go=r'
|
|
notify: restart collectd
|
|
tags:
|
|
- collectd-config
|
|
- collectd-typesdb
|
|
- name: ensure collectd types.db is configured
|
|
copy:
|
|
src: collectd-typesdb.conf
|
|
dest: /etc/collectd.d/typesdb.conf
|
|
mode: 'u=rw,go=r'
|
|
notify: restart collectd
|
|
tags:
|
|
- collectd-config
|
|
- collectd-typesdb
|
|
|
|
- name: ensure collectd df plugin is configured
|
|
template:
|
|
src: collectd-df.conf.j2
|
|
dest: /etc/collectd.d/df.conf
|
|
mode: 'u=rw,go=r'
|
|
notify: restart collectd
|
|
tags:
|
|
- collectd-config
|
|
- collectd-df
|
|
|
|
- name: ensure collectd unixsock plugin is configured
|
|
template:
|
|
src: collectd-unixsock.conf.j2
|
|
dest: /etc/collectd.d/unixsock.conf
|
|
mode: 'u=rw,go=r'
|
|
notify: restart collectd
|
|
tags:
|
|
- collectd-config
|
|
- collectd-unixsock
|
|
|
|
- name: ensure collectd network plugin is configured
|
|
template:
|
|
src: collectd-network.conf.j2
|
|
dest: /etc/collectd.d/network.conf
|
|
mode: '0644'
|
|
notify:
|
|
- restart collectd
|
|
tags:
|
|
- collectd-config
|
|
- collectd-network
|
|
- name: ensure colelctd processes plugin is configured
|
|
template:
|
|
src: collectd-processes.conf.j2
|
|
dest: /etc/collectd.d/processes.conf
|
|
mode: '0644'
|
|
notify:
|
|
- restart collectd
|
|
tags:
|
|
- collectd-config
|
|
- collectd-processes
|
|
|
|
- name: ensure collectd systemd unit extension directory exists
|
|
file:
|
|
path: /etc/systemd/system/collectd.service.d
|
|
mode: 'u=rwx,go=rx'
|
|
state: directory
|
|
- name: ensure collectd.service runtime directory is configured
|
|
copy:
|
|
src: collectd-runtime-dir.conf
|
|
dest: /etc/systemd/system/collectd.service.d/runtime-dir.conf
|
|
mode: 'u=rw,go=r'
|
|
notify:
|
|
- reload systemd
|
|
- restart collectd
|
|
|
|
- name: ensure collectd starts at boot
|
|
service:
|
|
name: collectd
|
|
enabled: true
|