diff options
Diffstat (limited to 'roles/collectd')
| -rw-r--r-- | roles/collectd/defaults/main.yml | 14 | ||||
| -rw-r--r-- | roles/collectd/handlers/main.yml | 5 | ||||
| -rw-r--r-- | roles/collectd/tasks/main.yml | 46 | ||||
| -rw-r--r-- | roles/collectd/templates/collectd.conf.j2 | 27 |
4 files changed, 92 insertions, 0 deletions
diff --git a/roles/collectd/defaults/main.yml b/roles/collectd/defaults/main.yml new file mode 100644 index 000000000..5f5bceafc --- /dev/null +++ b/roles/collectd/defaults/main.yml @@ -0,0 +1,14 @@ +collectd_packages: + RedHat: + - collectd + - collectd-disk + - collectd-rrdtool + - rrdtool-python + + Debian: + - collectd + - python-rrdtool + +collectd_config_path: + RedHat: /etc/collectd.conf + Debian: /etc/collectd/collectd.conf diff --git a/roles/collectd/handlers/main.yml b/roles/collectd/handlers/main.yml new file mode 100644 index 000000000..4ca4e94ce --- /dev/null +++ b/roles/collectd/handlers/main.yml @@ -0,0 +1,5 @@ +- name: restart collectd service + service: + name: collectd + state: restarted + become: true diff --git a/roles/collectd/tasks/main.yml b/roles/collectd/tasks/main.yml new file mode 100644 index 000000000..bf58f73d8 --- /dev/null +++ b/roles/collectd/tasks/main.yml @@ -0,0 +1,46 @@ +--- +- name: install centos-release-opstools repo + package: "name={{ item }}" + become: true + with_items: + - centos-release-opstools + when: + - ansible_os_family == 'RedHat' + +- name: update yum cache + command: yum makecache + become: true + when: + - ansible_os_family == 'RedHat' + +- name: install collectd + package: + name: "{{ item }}" + become: true + with_items: "{{ collectd_packages[ansible_os_family] }}" + notify: + - restart collectd service + +- name: Ensure rrd folder + file: + path: "/var/lib/collectd/rrd" + state: "directory" + become: true + +- name: copy collectd.conf file + template: + src: collectd.conf.j2 + dest: "{{ collectd_config_path[ansible_os_family] }}" + become: true + notify: + - restart collectd service + +- name: Flush handlers + meta: flush_handlers + +- name: enable collectd service + become: true + service: + name: collectd + enabled: yes + state: started diff --git a/roles/collectd/templates/collectd.conf.j2 b/roles/collectd/templates/collectd.conf.j2 new file mode 100644 index 000000000..5f306f983 --- /dev/null +++ b/roles/collectd/templates/collectd.conf.j2 @@ -0,0 +1,27 @@ +Interval 5 + +LoadPlugin syslog +LoadPlugin cpu +LoadPlugin interface +LoadPlugin load +LoadPlugin memory +LoadPlugin rrdtool +<Plugin rrdtool> + DataDir "/var/lib/collectd/rrd" + CreateFilesAsync false + CacheTimeout 120 + CacheFlush 900 + WritesPerSecond 50 +</Plugin> + +LoadPlugin disk +<Plugin "disk"> + IgnoreSelected false +</Plugin> + +LoadPlugin df +<Plugin "df"> + IgnoreSelected true +</Plugin> + +LoadPlugin processes |
