aboutsummaryrefslogtreecommitdiff
path: root/roles/collectd
diff options
context:
space:
mode:
authorJeffrey Zhang <zhang.lei.fly@gmail.com>2017-12-15 16:17:27 +0800
committerJeffrey Zhang <zhang.lei.fly@gmail.com>2017-12-18 13:08:10 +0800
commit77612f7eed0ca3176327337b71cdb0a0613a2608 (patch)
tree57046f255c5af3c614d230d5b995fd50cf4e43fc /roles/collectd
parent5feb11303351b896afd32643e63e87668a4a795c (diff)
downloadkolla-77612f7eed0ca3176327337b71cdb0a0613a2608.tar.gz
kolla-77612f7eed0ca3176327337b71cdb0a0613a2608.zip
Add collectd in ci to collect system information
Change-Id: Ic5cbdfd4ebca1d907ada5c39f27dc4a7889daa21
Diffstat (limited to 'roles/collectd')
-rw-r--r--roles/collectd/defaults/main.yml14
-rw-r--r--roles/collectd/handlers/main.yml5
-rw-r--r--roles/collectd/tasks/main.yml46
-rw-r--r--roles/collectd/templates/collectd.conf.j227
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