From 973f1359ae9e729e334327e8802fff704fae41d7 Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Sat, 12 Dec 2015 22:41:43 +0200
Subject: [PATCH] Collectd agent WIP (installation, basic config for
 Debian-based and OpenBSD).

---
 files/collectd.conf      |  8 ++++++++
 handlers/main.yml        |  5 +++++
 tasks/collectd_agent.yml | 23 +++++++++++++++++++++--
 vars/main.yml            |  6 ++++++
 4 files changed, 40 insertions(+), 2 deletions(-)
 create mode 100644 files/collectd.conf

diff --git a/files/collectd.conf b/files/collectd.conf
new file mode 100644
index 0000000..1c5eb8e
--- /dev/null
+++ b/files/collectd.conf
@@ -0,0 +1,8 @@
+AutoLoadPlugin true
+FQDNLookup false
+<Plugin syslog>
+        LogLevel info
+</Plugin>
+<Include "/etc/collectd/collectd.conf.d">
+        Filter "*.conf"
+</Include>
diff --git a/handlers/main.yml b/handlers/main.yml
index 3697637..79964fc 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -18,3 +18,8 @@
   service:
     name: ssh
     state: restarted
+
+- name: Restart Collectd
+  service:
+    name: collectd
+    state: restarted
diff --git a/tasks/collectd_agent.yml b/tasks/collectd_agent.yml
index 790933e..4de14b8 100644
--- a/tasks/collectd_agent.yml
+++ b/tasks/collectd_agent.yml
@@ -7,7 +7,8 @@
 - name: apt install Collectd
   when: ansible_pkg_mgr == 'apt'
   apt:
-    name: collectd-core
+    name: collectd
+    install_recommends: no
     state: present
     update_cache: yes
     cache_valid_time: 3600
@@ -15,5 +16,23 @@
 - name: pkg install Collectd
   when: ansible_pkg_mgr == 'openbsd_pkg'
   openbsd_pkg:
-    name: collectd-5.5
+    name: '{{ openbsd_collectd_version[ansible_distribution_release] }}'
     state: present
+
+- name: Create configuration directory
+  file:
+    path: /etc/collectd/collectd.conf.d/
+    owner: root
+    group: root
+    mode: '0755'
+    state: directory
+
+- name: Base configuration
+  copy:
+    src: collectd.conf
+    dest: /etc/collectd/collectd.conf
+    owner: root
+    group: root
+    mode: '0644'
+  notify:
+  - Restart Collectd
diff --git a/vars/main.yml b/vars/main.yml
index 466d352..77c074f 100644
--- a/vars/main.yml
+++ b/vars/main.yml
@@ -24,3 +24,9 @@ sudoers_location:
     FreeBSD: '/usr/local/etc/sudoers'
     Debian: '/etc/sudoers'
     OpenBSD: '/etc/sudoers'
+
+openbsd_collectd_version:
+    '5.5': 'collectd-4.10.2p4'
+    '5.6': 'collectd-4.10.2p4'
+    '5.7': 'collectd-5.4.1p1'
+    '5.8': 'collectd-5.5.0p1'
-- 
GitLab