From 03c7976685d504521c68990aa0e2525d5d696ad5 Mon Sep 17 00:00:00 2001 From: akrzos Date: Mon, 5 Jun 2017 11:49:32 -0400 Subject: [PATCH] Cleanup collectd-generic graphite playbook * No need for selinux policy if collectd_t domain is set to permissive * Graphite dashboard defaults to graphite "cloud name" * Added to Monitor Host docs to monitor the monitor host * collectd.conf for Graphite fixes (collectd, carbon-relay, carbon-aggregator) * collectd.conf auto ship to localhost and use graphite as prefix * Allow collectd write_graphite port to be configured from playbooks thus allowing for future use of carbon-relay * Improve Graphite Carbon-cache metrics to expose multiple carbon-cache metrics * Update Graphite/Baremetal/Guest Dashboards Disk/DF portion of Dashboard Change-Id: I9286bee506045fa89d5c9919327d3e4f77fb07f3 --- ansible/install/group_vars/all.yml | 2 + .../collectd-generic/files/custom-collectd.pp | Bin 1410 -> 0 bytes .../roles/collectd-generic/tasks/main.yml | 67 ++++------- .../templates/baremetal.collectd.conf.j2 | 31 ++++- .../templates/graphite.collectd.conf.j2 | 42 +++++-- .../templates/guest.collectd.conf.j2 | 31 ++++- .../collectd-openstack/defaults/main.yml | 2 + .../templates/blockstorage.collectd.conf.j2 | 2 +- .../templates/cephstorage.collectd.conf.j2 | 2 +- .../templates/compute.collectd.conf.j2 | 2 +- .../templates/controller.collectd.conf.j2 | 2 +- .../templates/objectstorage.collectd.conf.j2 | 2 +- .../templates/undercloud.collectd.conf.j2 | 2 +- ...remetal_general_system_performance.json.j2 | 89 +++++++++++++- ...raphite_general_system_performance.json.j2 | 113 +++++++++++++++--- .../guest_general_system_performance.json.j2 | 89 +++++++++++++- .../roles/grafana-dashboards/vars/main.yml | 4 + doc/source/installation.rst | 7 ++ 18 files changed, 401 insertions(+), 88 deletions(-) delete mode 100644 ansible/install/roles/collectd-generic/files/custom-collectd.pp diff --git a/ansible/install/group_vars/all.yml b/ansible/install/group_vars/all.yml index 7803c54b1..65ccc00bc 100644 --- a/ansible/install/group_vars/all.yml +++ b/ansible/install/group_vars/all.yml @@ -95,6 +95,8 @@ connmon_host: 192.0.2.1 collectd_from_epel: true # Interval in seconds collectd_interval: 10 +# Typically: carbon-cache port=2003 or Graphite with carbon-relay=2013 +collectd_write_graphite_port: 2003 # Run collectd on specific openstack nodes: collectd_undercloud: true collectd_controller: true diff --git a/ansible/install/roles/collectd-generic/files/custom-collectd.pp b/ansible/install/roles/collectd-generic/files/custom-collectd.pp deleted file mode 100644 index 9b8fe86e9d3888acf548ebacb9d60b57eac0606a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1410 zcmb`HT}s116ou;_iU{fsx&cLZFfYF8lM5Kybi`X`0G=X+v0-$AW6RYJ_Rux6a z;^M$kx7Rn$%r@wNoc09`#e$fvd{bqwA)Z-8wwx`4&#JPt&WBJ8>VgGNc@d7y!Vl|^ zwJ~rD%6;g|%Ex+EHX6wBHME+)SaV-H%Lz`7+0<7$&2cP5N7f9u4%MR$i@foxs*b+9 z9?y(%o99pzp40nyWITS;G44DsedHJA!eb=893PGJE7SoiXgsm&MRleE*XcnKBjV}p zkxN0H9{({zvs^mBeDbMKcD?8s&H!Ae2StpCr!Sve3hML_FRi&Gz(>U6-oSNwqwo=N z*fQWcy-|Ph_l*h Host "{{graphite_host}}" - Port "2003" + Port "{{collectd_write_graphite_port}}" Prefix "{{graphite_prefix}}." Protocol "tcp" LogSendErrors true @@ -53,11 +53,40 @@ LoadPlugin uptime + FSType anon_inodefs + FSType bdev + FSType cgroup + FSType cpuset + FSType debugfs + FSType devpts + FSType devtmpfs + FSType ecryptfs + FSType fuse + FSType fusectl + FSType hugetlbfs + FSType mqueue + FSType nfs + FSType nfs4 + FSType nfsd + FSType pipefs + FSType proc + FSType pstore + FSType ramfs + #FSType rootfs + FSType rpc_pipefs + FSType securityfs + FSType sockfs + FSType sysfs + FSType tmpfs + FSType vboxsf + IgnoreSelected true ValuesPercentage true + ReportInodes true Disk "/^[hsv]d[a-z]+[0-9]?$/" + Disk "/^nvm/" IgnoreSelected false diff --git a/ansible/install/roles/collectd-generic/templates/graphite.collectd.conf.j2 b/ansible/install/roles/collectd-generic/templates/graphite.collectd.conf.j2 index c66f9247a..0b6102bb5 100644 --- a/ansible/install/roles/collectd-generic/templates/graphite.collectd.conf.j2 +++ b/ansible/install/roles/collectd-generic/templates/graphite.collectd.conf.j2 @@ -4,9 +4,6 @@ # Interval default is 10s Interval {{collectd_interval}} -# Hostname for this machine, if not defined, use gethostname(2) system call -Hostname "{{inventory_hostname}}" - # Loaded Plugins: LoadPlugin "logfile" @@ -41,9 +38,9 @@ LoadPlugin uptime # Graphite Host Configuration - Host "{{graphite_host}}" - Port "2003" - Prefix "{{graphite_prefix}}." + Host "localhost" + Port "{{collectd_write_graphite_port}}" + Prefix "graphite." Protocol "tcp" LogSendErrors true StoreRates true @@ -53,20 +50,51 @@ LoadPlugin uptime + FSType anon_inodefs + FSType bdev + FSType cgroup + FSType cpuset + FSType debugfs + FSType devpts + FSType devtmpfs + FSType ecryptfs + FSType fuse + FSType fusectl + FSType hugetlbfs + FSType mqueue + FSType nfs + FSType nfs4 + FSType nfsd + FSType pipefs + FSType proc + FSType pstore + FSType ramfs + #FSType rootfs + FSType rpc_pipefs + FSType securityfs + FSType sockfs + FSType sysfs + FSType tmpfs + FSType vboxsf + IgnoreSelected true ValuesPercentage true + ReportInodes true Disk "/^[hsv]d[a-z]+[0-9]?$/" + Disk "/^nvm/" IgnoreSelected false ProcessMatch "carbon-cache" "python.+carbon-cache" + ProcessMatch "carbon-relay" "python.+carbon-relay" + ProcessMatch "carbon-aggregator" "python.+carbon-aggregator" Process "grafana-server" Process "httpd" # Collect on collectd process - ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf" + Process "collectd" diff --git a/ansible/install/roles/collectd-generic/templates/guest.collectd.conf.j2 b/ansible/install/roles/collectd-generic/templates/guest.collectd.conf.j2 index 6e6dab65a..6d2bb4a59 100644 --- a/ansible/install/roles/collectd-generic/templates/guest.collectd.conf.j2 +++ b/ansible/install/roles/collectd-generic/templates/guest.collectd.conf.j2 @@ -40,7 +40,7 @@ LoadPlugin uptime Host "{{graphite_host}}" - Port "2003" + Port "{{collectd_write_graphite_port}}" Prefix "{{graphite_prefix}}." Protocol "tcp" LogSendErrors true @@ -51,11 +51,40 @@ LoadPlugin uptime + FSType anon_inodefs + FSType bdev + FSType cgroup + FSType cpuset + FSType debugfs + FSType devpts + FSType devtmpfs + FSType ecryptfs + FSType fuse + FSType fusectl + FSType hugetlbfs + FSType mqueue + FSType nfs + FSType nfs4 + FSType nfsd + FSType pipefs + FSType proc + FSType pstore + FSType ramfs + #FSType rootfs + FSType rpc_pipefs + FSType securityfs + FSType sockfs + FSType sysfs + FSType tmpfs + FSType vboxsf + IgnoreSelected true ValuesPercentage true + ReportInodes true Disk "/^[hsv]d[a-z]+[0-9]?$/" + Disk "/^nvm/" IgnoreSelected false diff --git a/ansible/install/roles/collectd-openstack/defaults/main.yml b/ansible/install/roles/collectd-openstack/defaults/main.yml index 6ebff79ee..45b54331d 100644 --- a/ansible/install/roles/collectd-openstack/defaults/main.yml +++ b/ansible/install/roles/collectd-openstack/defaults/main.yml @@ -5,6 +5,8 @@ collectd_from_epel: true # Interval in seconds collectd_interval: 10 +# Typically: carbon-cache port=2003 or Graphite with carbon-relay=2013 +collectd_write_graphite_port: 2003 # Run collectd on specific openstack nodes: collectd_undercloud: true collectd_controller: true diff --git a/ansible/install/roles/collectd-openstack/templates/blockstorage.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/blockstorage.collectd.conf.j2 index 64a8c482a..244c61314 100644 --- a/ansible/install/roles/collectd-openstack/templates/blockstorage.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/blockstorage.collectd.conf.j2 @@ -71,7 +71,7 @@ PreCacheChain "PreCache" Host "{{graphite_host}}" - Port "2003" + Port "{{collectd_write_graphite_port}}" Prefix "{{graphite_prefix}}." Protocol "tcp" LogSendErrors true diff --git a/ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2 index 849c88989..9329acecd 100644 --- a/ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/cephstorage.collectd.conf.j2 @@ -74,7 +74,7 @@ PreCacheChain "PreCache" Host "{{graphite_host}}" - Port "2003" + Port "{{collectd_write_graphite_port}}" Prefix "{{graphite_prefix}}." Protocol "tcp" LogSendErrors true diff --git a/ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2 index ea4842307..c61960bed 100644 --- a/ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/compute.collectd.conf.j2 @@ -71,7 +71,7 @@ PreCacheChain "PreCache" Host "{{graphite_host}}" - Port "2003" + Port "{{collectd_write_graphite_port}}" Prefix "{{graphite_prefix}}." Protocol "tcp" LogSendErrors true diff --git a/ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2 index bf4c479f7..b7b9539c1 100644 --- a/ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/controller.collectd.conf.j2 @@ -85,7 +85,7 @@ PreCacheChain "PreCache" Host "{{graphite_host}}" - Port "2003" + Port "{{collectd_write_graphite_port}}" Prefix "{{graphite_prefix}}." Protocol "tcp" LogSendErrors true diff --git a/ansible/install/roles/collectd-openstack/templates/objectstorage.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/objectstorage.collectd.conf.j2 index 184449c32..90e401046 100644 --- a/ansible/install/roles/collectd-openstack/templates/objectstorage.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/objectstorage.collectd.conf.j2 @@ -71,7 +71,7 @@ PreCacheChain "PreCache" Host "{{graphite_host}}" - Port "2003" + Port "{{collectd_write_graphite_port}}" Prefix "{{graphite_prefix}}." Protocol "tcp" LogSendErrors true diff --git a/ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2 b/ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2 index 81792aba3..4d8bab7a6 100644 --- a/ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2 +++ b/ansible/install/roles/collectd-openstack/templates/undercloud.collectd.conf.j2 @@ -87,7 +87,7 @@ PreCacheChain "PreCache" Host "{{graphite_host}}" - Port "2003" + Port "{{collectd_write_graphite_port}}" Prefix "{{graphite_prefix}}." Protocol "tcp" LogSendErrors true diff --git a/ansible/install/roles/grafana-dashboards/templates/baremetal_general_system_performance.json.j2 b/ansible/install/roles/grafana-dashboards/templates/baremetal_general_system_performance.json.j2 index 29b1f964f..c6232bb26 100644 --- a/ansible/install/roles/grafana-dashboards/templates/baremetal_general_system_performance.json.j2 +++ b/ansible/install/roles/grafana-dashboards/templates/baremetal_general_system_performance.json.j2 @@ -1243,7 +1243,16 @@ "percent", "ms" ] - }, + } + ], + "showTitle": true, + "title": "Disk" + }, + { + "collapse": true, + "editable": true, + "height": "200px", + "panels": [ { "aliasColors": {}, "bars": false, @@ -1263,7 +1272,7 @@ "threshold2": null, "threshold2Color": "rgba(234, 112, 112, 0.22)" }, - {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} + {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} "id": {{vars.panel_idx}}, "isNew": true, "legend": { @@ -1297,8 +1306,7 @@ "targets": [ { "refId": "A", - "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_bytes-used, 'df-', ''), 2)", - "textEditor": false + "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_bytes-used, 'df-', ''), 2)" } ], "timeFrom": null, @@ -1315,10 +1323,81 @@ "percent", "short" ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 0, + "grid": { + "leftLogBase": 1, + "leftMax": 100, + "leftMin": 0, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null, + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} + "id": {{vars.panel_idx}}, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Write", + "transform": "negative-Y" + } + ], + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_inodes-used, 'df-', ''), 2)" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node - Inodes % Used", + "tooltip": { + "shared": true, + "value_type": "individual" + }, + "type": "graph", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "percent", + "short" + ] } ], "showTitle": true, - "title": "Disk" + "title": "DF" }, { "collapse": true, diff --git a/ansible/install/roles/grafana-dashboards/templates/graphite_general_system_performance.json.j2 b/ansible/install/roles/grafana-dashboards/templates/graphite_general_system_performance.json.j2 index ca240c97b..95ea8437d 100644 --- a/ansible/install/roles/grafana-dashboards/templates/graphite_general_system_performance.json.j2 +++ b/ansible/install/roles/grafana-dashboards/templates/graphite_general_system_performance.json.j2 @@ -1243,7 +1243,16 @@ "percent", "ms" ] - }, + } + ], + "showTitle": true, + "title": "Disk" + }, + { + "collapse": true, + "editable": true, + "height": "200px", + "panels": [ { "aliasColors": {}, "bars": false, @@ -1263,7 +1272,7 @@ "threshold2": null, "threshold2Color": "rgba(234, 112, 112, 0.22)" }, - {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} + {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} "id": {{vars.panel_idx}}, "isNew": true, "legend": { @@ -1297,8 +1306,7 @@ "targets": [ { "refId": "A", - "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_bytes-used, 'df-', ''), 2)", - "textEditor": false + "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_bytes-used, 'df-', ''), 2)" } ], "timeFrom": null, @@ -1315,10 +1323,81 @@ "percent", "short" ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 0, + "grid": { + "leftLogBase": 1, + "leftMax": 100, + "leftMin": 0, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null, + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} + "id": {{vars.panel_idx}}, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Write", + "transform": "negative-Y" + } + ], + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_inodes-used, 'df-', ''), 2)" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node - Inodes % Used", + "tooltip": { + "shared": true, + "value_type": "individual" + }, + "type": "graph", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "percent", + "short" + ] } ], "showTitle": true, - "title": "Disk" + "title": "DF" }, { "collapse": true, @@ -2504,7 +2583,7 @@ {% endfor %} {# End Loop over per-process options here #} { - "title": "Carbon Metrics", + "title": "Carbon Cache Metrics", "height": "250px", "editable": true, "collapse": true, @@ -2568,15 +2647,15 @@ "targets": [ { "refId": "A", - "target": "aliasByNode(carbon.agents.*.metricsReceived, 3)" + "target": "aliasByNode(aliasSub(carbon.agents.*.metricsReceived, '[a-zA-Z0-9_]+-', ''), 2, 3)" }, { "refId": "B", - "target": "aliasByNode(carbon.agents.*.committedPoints, 3)" + "target": "aliasByNode(aliasSub(carbon.agents.*.committedPoints, '[a-zA-Z0-9_]+-', ''), 2, 3)" }, { "refId": "C", - "target": "aliasByNode(carbon.agents.*.updateOperations, 3)" + "target": "aliasByNode(aliasSub(carbon.agents.*.updateOperations, '[a-zA-Z0-9_]+-', ''), 2, 3)" } ], "aliasColors": {}, @@ -2643,7 +2722,7 @@ "targets": [ { "refId": "A", - "target": "aliasByNode(carbon.agents.*.avgUpdateTime, 3)" + "target": "aliasByNode(aliasSub(carbon.agents.*.avgUpdateTime, '[a-zA-Z0-9_]+-', ''), 2, 3)" } ], "aliasColors": {}, @@ -2710,7 +2789,7 @@ "targets": [ { "refId": "A", - "target": "aliasByNode(carbon.agents.*.creates, 3)" + "target": "aliasByNode(aliasSub(carbon.agents.*.creates, '[a-zA-Z0-9_]+-', ''), 2, 3)" } ], "aliasColors": {}, @@ -2777,7 +2856,7 @@ "targets": [ { "refId": "A", - "target": "aliasByNode(carbon.agents.*.cache.*, 4)" + "target": "aliasByNode(aliasSub(carbon.agents.*.cache.*, '[a-zA-Z0-9_]+-', ''), 2, 3)" } ], "aliasColors": {}, @@ -2844,11 +2923,11 @@ "targets": [ { "refId": "A", - "target": "aliasByNode(carbon.agents.*.blacklistMatches, 3)" + "target": "aliasByNode(aliasSub(carbon.agents.*.blacklistMatches, '[a-zA-Z0-9_]+-', ''), 2, 3)" }, { "refId": "B", - "target": "aliasByNode(carbon.agents.*.whitelistRejects, 3)" + "target": "aliasByNode(aliasSub(carbon.agents.*.whitelistRejects, '[a-zA-Z0-9_]+-', ''), 2, 3)" } ], "aliasColors": {}, @@ -2915,7 +2994,7 @@ "targets": [ { "refId": "C", - "target": "aliasByNode(carbon.agents.*.errors, 3)" + "target": "aliasByNode(aliasSub(carbon.agents.*.errors, '[a-zA-Z0-9_]+-', ''), 2, 3)" } ], "aliasColors": {}, @@ -3011,8 +3090,8 @@ { "allFormat": "glob", "current": { - "text": "None", - "value": "None" + "text": "graphite", + "value": "graphite" }, "datasource": null, "includeAll": false, diff --git a/ansible/install/roles/grafana-dashboards/templates/guest_general_system_performance.json.j2 b/ansible/install/roles/grafana-dashboards/templates/guest_general_system_performance.json.j2 index a0ce6ce0d..8489094db 100644 --- a/ansible/install/roles/grafana-dashboards/templates/guest_general_system_performance.json.j2 +++ b/ansible/install/roles/grafana-dashboards/templates/guest_general_system_performance.json.j2 @@ -1243,7 +1243,16 @@ "percent", "ms" ] - }, + } + ], + "showTitle": true, + "title": "Disk" + }, + { + "collapse": true, + "editable": true, + "height": "200px", + "panels": [ { "aliasColors": {}, "bars": false, @@ -1263,7 +1272,7 @@ "threshold2": null, "threshold2Color": "rgba(234, 112, 112, 0.22)" }, - {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} + {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} "id": {{vars.panel_idx}}, "isNew": true, "legend": { @@ -1297,8 +1306,7 @@ "targets": [ { "refId": "A", - "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_bytes-used, 'df-', ''), 2)", - "textEditor": false + "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_bytes-used, 'df-', ''), 2)" } ], "timeFrom": null, @@ -1315,10 +1323,81 @@ "percent", "short" ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": null, + "editable": true, + "error": false, + "fill": 0, + "grid": { + "leftLogBase": 1, + "leftMax": 100, + "leftMin": 0, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null, + "threshold1": null, + "threshold1Color": "rgba(216, 200, 27, 0.27)", + "threshold2": null, + "threshold2Color": "rgba(234, 112, 112, 0.22)" + }, + {% if vars.update({'panel_idx': (vars.panel_idx + 1)}) %} {% endif %} + "id": {{vars.panel_idx}}, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Write", + "transform": "negative-Y" + } + ], + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "refId": "A", + "target": "aliasByNode(aliasSub($Cloud.$Node.df-*.percent_inodes-used, 'df-', ''), 2)" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "$Cloud - $Node - Inodes % Used", + "tooltip": { + "shared": true, + "value_type": "individual" + }, + "type": "graph", + "x-axis": true, + "y-axis": true, + "y_formats": [ + "percent", + "short" + ] } ], "showTitle": true, - "title": "Disk" + "title": "DF" }, { "collapse": true, diff --git a/ansible/install/roles/grafana-dashboards/vars/main.yml b/ansible/install/roles/grafana-dashboards/vars/main.yml index d3ddda0a7..363aee6c7 100644 --- a/ansible/install/roles/grafana-dashboards/vars/main.yml +++ b/ansible/install/roles/grafana-dashboards/vars/main.yml @@ -553,11 +553,15 @@ per_process_panels: - name: "Summerized" processes: - carbon-cache + - carbon-relay + - carbon-aggregator - grafana-server - httpd - name: "Carbon" processes: - carbon-cache + - carbon-relay + - carbon-aggregator - name: "Grafana" processes: - grafana-server diff --git a/doc/source/installation.rst b/doc/source/installation.rst index 07a360135..2e48255a7 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -492,6 +492,13 @@ variables - graphite_host and grafana_host [root@dhcp23-93 ansible]# ansible-playbook -i hosts install/grafana-dashboards.yml -e 'cloud_dashboards=false' ... +10. (Optional) Monitor the Monitor Host + +:: + + [root@dhcp23-93 ansible]# ansible-playbook -i hosts install/collectd-generic.yml --tags graphite + ... + Now navigate to http://monitoring-host-address:3000 to verify Grafana is installed, the Graphite data source exists and custom dashboards are uploaded.