From 8cab0b368e24e43c81b176f004e81e8d7e2c86b3 Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Wed, 3 Aug 2022 21:01:32 -0500 Subject: [PATCH] r/collectd: Ignore overlay filesystems 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. --- roles/collectd/defaults/main.yml | 2 ++ roles/collectd/tasks/main.yml | 10 ++++++++++ roles/collectd/templates/collectd-df.conf.j2 | 8 ++++++++ 3 files changed, 20 insertions(+) create mode 100644 roles/collectd/templates/collectd-df.conf.j2 diff --git a/roles/collectd/defaults/main.yml b/roles/collectd/defaults/main.yml index 47b1798..ea06caa 100644 --- a/roles/collectd/defaults/main.yml +++ b/roles/collectd/defaults/main.yml @@ -2,6 +2,8 @@ collectd_default_config: true collectd_load_network_plugin: false collectd_network_servers: [] collectd_network_listen: [] +collectd_df_ignore_fstype: +- overlay collectd_plugins: {} diff --git a/roles/collectd/tasks/main.yml b/roles/collectd/tasks/main.yml index cf569de..38119a5 100644 --- a/roles/collectd/tasks/main.yml +++ b/roles/collectd/tasks/main.yml @@ -50,6 +50,16 @@ - 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 diff --git a/roles/collectd/templates/collectd-df.conf.j2 b/roles/collectd/templates/collectd-df.conf.j2 new file mode 100644 index 0000000..53d8925 --- /dev/null +++ b/roles/collectd/templates/collectd-df.conf.j2 @@ -0,0 +1,8 @@ +{% if collectd_df_ignore_fstype %} + +{% for fstype in collectd_df_ignore_fstype %} + FSType {{ fstype }} +{% endfor %} + IgnoreSelected true + +{% endif %}