Added & adjusted up to date json dashboard definitions from ceph upstream project.
Related-Prod: PROD-35307
Change-Id: I79b9e7c8ee3bc7066e6da3ab6522ffb99d03eecd
diff --git a/ceph/files/grafana_dashboards/luminous-ceph-cluster_prometheus.json b/ceph/files/grafana_dashboards/luminous-ceph-cluster_prometheus.json
index 5770143..ea4a298 100644
--- a/ceph/files/grafana_dashboards/luminous-ceph-cluster_prometheus.json
+++ b/ceph/files/grafana_dashboards/luminous-ceph-cluster_prometheus.json
@@ -1,5 +1,37 @@
{%- raw %}
{
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "heatmap",
+ "name": "Heatmap",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "singlestat",
+ "name": "Singlestat",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "vonage-status-panel",
+ "name": "Status Panel",
+ "version": "1.0.9"
+ }
+ ],
"annotations": {
"list": [
{
@@ -18,7 +50,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1545072771425,
+ "iteration": 1525415495309,
"links": [],
"panels": [
{
@@ -86,7 +118,8 @@
"tableColumn": "",
"targets": [
{
- "expr": "ceph_health_status{instance=~'$instance'}",
+ "expr": "ceph_health_status",
+ "instant": true,
"format": "time_series",
"interval": "$interval",
"intervalFactor": 1,
@@ -95,7 +128,7 @@
}
],
"thresholds": "1,2",
- "timeFrom": "1m",
+ "timeFrom": null,
"title": "Health Status",
"transparent": false,
"type": "singlestat",
@@ -120,86 +153,114 @@
"valueName": "current"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(50, 128, 45, 0.9)",
- "rgba(237, 129, 40, 0.9)",
- "rgb(255, 0, 0)"
- ],
- "datasource": null,
- "editable": true,
- "error": false,
- "format": "bytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "colorMode": "Panel",
+ "colors": {
+ "crit": "rgb(255, 0, 0)",
+ "disable": "rgba(128, 128, 128, 0.9)",
+ "ok": "rgba(50, 128, 45, 0.9)",
+ "warn": "rgba(237, 129, 40, 0.9)"
},
+ "cornerRadius": 0,
+ "datasource": null,
+ "displayName": "",
+ "flipCard": false,
+ "flipTime": 5,
+ "fontFormat": "Regular",
"gridPos": {
"h": 3,
"w": 2,
"x": 2,
"y": 0
},
- "hideTimeOverride": true,
- "id": 67,
- "interval": "1m",
+ "id": 43,
+ "isAutoScrollOnOverflow": false,
+ "isGrayOnNoData": false,
+ "isHideAlertsOnDisable": false,
+ "isIgnoreOKColors": false,
"links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 2,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
"targets": [
{
- "expr": "sum(ceph_osd_stat_bytes{instance=~\"$instance\"})",
+ "aggregation": "Last",
+ "alias": "All",
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "count(ceph_osd_metadata)",
"format": "time_series",
- "interval": "$interval",
"intervalFactor": 1,
+ "legendFormat": "All",
"refId": "A",
- "step": 60
+ "units": "none",
+ "valueHandler": "Number Threshold"
+ },
+ {
+ "aggregation": "Last",
+ "alias": "In",
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_osds_in)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "In",
+ "refId": "B",
+ "units": "none",
+ "valueHandler": "Number Threshold"
+ },
+ {
+ "aggregation": "Last",
+ "alias": "Out",
+ "decimals": 2,
+ "displayAliasType": "Warning / Critical",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_osd_in == bool 0)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Out",
+ "refId": "C",
+ "units": "none",
+ "valueHandler": "Number Threshold",
+ "warn": 1
+ },
+ {
+ "aggregation": "Last",
+ "alias": "Up",
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_osd_up)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Up",
+ "refId": "D",
+ "units": "none",
+ "valueHandler": "Number Threshold"
+ },
+ {
+ "aggregation": "Last",
+ "alias": "Down",
+ "crit": 2,
+ "decimals": 2,
+ "displayAliasType": "Warning / Critical",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_osd_up == bool 0)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Down",
+ "refId": "E",
+ "units": "none",
+ "valueHandler": "Number Threshold",
+ "warn": 1
}
],
- "thresholds": "",
- "timeFrom": "1m",
- "title": "Total",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "50%",
- "valueMaps": [],
- "valueName": "current"
+ "title": "OSDs",
+ "type": "vonage-status-panel"
},
{
"cacheTimeout": null,
@@ -262,7 +323,7 @@
"tableColumn": "",
"targets": [
{
- "expr": "sum(ceph_osd_stat_bytes_used{instance=~\"$instance\"})/sum(ceph_osd_stat_bytes{instance=~\"$instance\"})",
+ "expr": "sum(ceph_osd_stat_bytes_used)/sum(ceph_osd_stat_bytes)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Used",
@@ -353,49 +414,49 @@
"steppedLine": false,
"targets": [
{
- "expr": "ceph_pg_total",
+ "expr": "sum(ceph_pg_total)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Total",
"refId": "A"
},
{
- "expr": "ceph_pg_active",
+ "expr": "sum(ceph_pg_active)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Active",
"refId": "B"
},
{
- "expr": "ceph_pg_total - ceph_pg_active",
+ "expr": "sum(ceph_pg_total - ceph_pg_active)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Inactive",
"refId": "G"
},
{
- "expr": "ceph_pg_undersized",
+ "expr": "sum(ceph_pg_undersized)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Undersized",
"refId": "F"
},
{
- "expr": "ceph_pg_degraded",
+ "expr": "sum(ceph_pg_degraded)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Degraded",
"refId": "C"
},
{
- "expr": "ceph_pg_inconsistent",
+ "expr": "sum(ceph_pg_inconsistent)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Inconsistent",
"refId": "D"
},
{
- "expr": "ceph_pg_down",
+ "expr": "sum(ceph_pg_down)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Down",
@@ -436,11 +497,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"aliasColors": {},
@@ -484,28 +541,28 @@
"steppedLine": false,
"targets": [
{
- "expr": "quantile(0.95, ceph_osd_apply_latency_ms{instance=~\"$instance\"})",
+ "expr": "quantile(0.95, ceph_osd_apply_latency_ms)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Apply Latency P_95",
"refId": "A"
},
{
- "expr": "quantile(0.95, ceph_osd_commit_latency_ms{instance=~\"$instance\"})",
+ "expr": "quantile(0.95, ceph_osd_commit_latency_ms)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Commit Latency P_95",
"refId": "B"
},
{
- "expr": "avg(ceph_osd_apply_latency_ms{instance=~\"$instance\"})",
+ "expr": "avg(ceph_osd_apply_latency_ms)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Avg Apply Latency",
"refId": "C"
},
{
- "expr": "avg(ceph_osd_commit_latency_ms{instance=~\"$instance\"})",
+ "expr": "avg(ceph_osd_commit_latency_ms)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Avg Commit Latency",
@@ -546,175 +603,89 @@
"min": null,
"show": true
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(50, 128, 45, 0.9)",
- "rgba(237, 129, 40, 0.9)",
- "rgb(255, 0, 0)"
- ],
- "datasource": null,
- "editable": true,
- "error": false,
- "format": "bytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "clusterName": "",
+ "colorMode": "Panel",
+ "colors": {
+ "crit": "rgba(245, 54, 54, 0.9)",
+ "disable": "rgba(128, 128, 128, 0.9)",
+ "ok": "rgba(50, 128, 45, 0.9)",
+ "warn": "rgba(237, 129, 40, 0.9)"
},
+ "cornerRadius": 1,
+ "datasource": null,
+ "displayName": "",
+ "flipCard": false,
+ "flipTime": 5,
+ "fontFormat": "Regular",
"gridPos": {
"h": 3,
"w": 2,
"x": 0,
"y": 3
},
- "hideTimeOverride": true,
- "id": 68,
- "interval": "1m",
+ "id": 41,
+ "isAutoScrollOnOverflow": false,
+ "isGrayOnNoData": false,
+ "isHideAlertsOnDisable": false,
+ "isIgnoreOKColors": false,
"links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 2,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
"targets": [
{
- "expr": "sum(ceph_osd_stat_bytes{instance=~\"$instance\"})-sum(ceph_osd_stat_bytes_used{instance=~\"$instance\"})",
+ "aggregation": "Last",
+ "alias": "In Quorum",
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_mon_quorum_status)",
"format": "time_series",
- "interval": "$interval",
+ "interval": "",
"intervalFactor": 1,
+ "legendFormat": "In Quorum",
"refId": "A",
- "step": 60
- }
- ],
- "thresholds": "",
- "timeFrom": "1m",
- "title": "Free",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "50%",
- "valueMaps": [],
- "valueName": "current"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(50, 128, 45, 0.9)",
- "rgba(237, 129, 40, 0.9)",
- "rgb(255, 0, 0)"
- ],
- "datasource": null,
- "editable": true,
- "error": false,
- "format": "bytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 2,
- "x": 2,
- "y": 3
- },
- "hideTimeOverride": true,
- "id": 69,
- "interval": "1m",
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
+ "units": "none",
+ "valueHandler": "Text Only"
},
{
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 2,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "sum(ceph_osd_stat_bytes_used{instance=~\"$instance\"})",
+ "aggregation": "Last",
+ "alias": "Total",
+ "crit": 1,
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "count(ceph_mon_quorum_status)",
"format": "time_series",
- "interval": "$interval",
"intervalFactor": 1,
- "refId": "A",
- "step": 60
+ "legendFormat": "Total",
+ "refId": "B",
+ "units": "none",
+ "valueHandler": "Text Only",
+ "warn": 2
+ },
+ {
+ "aggregation": "Last",
+ "alias": "MONs out of Quorum",
+ "crit": 1.6,
+ "decimals": 2,
+ "displayAliasType": "Warning / Critical",
+ "displayType": "Annotation",
+ "displayValueWithAlias": "Never",
+ "expr": "count(ceph_mon_quorum_status) / sum(ceph_mon_quorum_status)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "MONs out of Quorum",
+ "refId": "C",
+ "units": "none",
+ "valueHandler": "Number Threshold",
+ "warn": 1.1
}
],
- "thresholds": "",
- "timeFrom": "1m",
- "title": "Used",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "50%",
- "valueMaps": [],
- "valueName": "current"
+ "title": "Monitors",
+ "type": "vonage-status-panel"
},
{
"aliasColors": {},
@@ -758,14 +729,14 @@
"steppedLine": false,
"targets": [
{
- "expr": "sum(irate(ceph_osd_op_w_in_bytes{instance=~\"$instance\"}[$rate_interval]))",
+ "expr": "sum(irate(ceph_osd_op_w_in_bytes[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Writes",
"refId": "A"
},
{
- "expr": "sum(irate(ceph_osd_op_r_out_bytes{instance=~\"$instance\"}[$rate_interval]))",
+ "expr": "sum(irate(ceph_osd_op_r_out_bytes[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Reads",
@@ -806,11 +777,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"aliasColors": {},
@@ -849,10 +816,9 @@
"steppedLine": false,
"targets": [
{
- "expr": "sum(deriv(ceph_pool_bytes_used{instance=~\"$instance\"}[$rate_interval]))",
+ "expr": "sum(deriv(ceph_pool_bytes_used[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "Bytes",
"refId": "A"
}
],
@@ -890,11 +856,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"cards": {
@@ -927,9 +889,8 @@
"span": 12,
"targets": [
{
- "expr": "ceph_osd_stat_bytes_used{instance=~'$instance'} / ceph_osd_stat_bytes{instance=~'$instance'}",
+ "expr": "ceph_osd_stat_bytes_used / ceph_osd_stat_bytes",
"format": "time_series",
- "instant": false,
"interval": "1m",
"intervalFactor": 1,
"legendFormat": "Util (%)",
@@ -958,7 +919,6 @@
"show": true,
"splitFactor": null
},
- "yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
@@ -991,7 +951,7 @@
"links": [],
"targets": [
{
- "expr": "ceph_osd_numpg{instance=~\"$instance\"}",
+ "expr": "ceph_osd_numpg",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "#PGs",
@@ -1018,7 +978,6 @@
"show": true,
"splitFactor": null
},
- "yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
@@ -1100,14 +1059,10 @@
"min": null,
"show": true
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
}
],
- "refresh": "30s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
"tags": [
@@ -1189,16 +1144,12 @@
],
"query": "1m,10m,30m,1h,6h,12h,1d,7d,14d,30d",
"refresh": 2,
- "skipUrlSync": false,
"type": "interval"
},
{
"allFormat": "glob",
"allValue": null,
- "current": {
- "text": "All",
- "value": "$__all"
- },
+ "current": {},
"datasource": null,
"hide": 0,
"hideLabel": false,
@@ -1211,7 +1162,6 @@
"query": "label_values(ceph_health_status, instance)",
"refresh": 1,
"regex": "",
- "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
@@ -1295,6 +1245,6 @@
},
"timezone": "browser",
"title": "Ceph - Cluster",
- "version": 7
-}
+ "version": 13
+ }
{%- endraw %}
diff --git a/ceph/files/grafana_dashboards/luminous-hosts-overview_prometheus.json b/ceph/files/grafana_dashboards/luminous-hosts-overview_prometheus.json
index 921f886..9d4c32d 100644
--- a/ceph/files/grafana_dashboards/luminous-hosts-overview_prometheus.json
+++ b/ceph/files/grafana_dashboards/luminous-hosts-overview_prometheus.json
@@ -412,7 +412,7 @@
"tableColumn": "Value",
"targets": [
{
- "expr": "sum (irate(diskio_reads{host=~\"($osd_hosts).*\"}[5m]) + irate(diskio_writes{host=~\"($osd_hosts).*\"}[5m]))",
+ "expr": "sum (rate(diskio_reads{host=~\"($osd_hosts).*\"}[$rate_interval]) + rate(diskio_writes{host=~\"($osd_hosts).*\"}[$rate_interval]))",
"format": "table",
"instant": true,
"intervalFactor": 1,
@@ -577,7 +577,7 @@
"tableColumn": "Value",
"targets": [
{
- "expr": "avg ( (irate(diskio_io_time{host=~\"($osd_hosts).*\"}[5m])) )",
+ "expr": "avg ( (rate(diskio_io_time{host=~\"($osd_hosts).*\"}[$rate_interval])) )",
"format": "table",
"instant": true,
"intervalFactor": 1,
@@ -660,7 +660,7 @@
"tableColumn": "Value",
"targets": [
{
- "expr": "sum (\n irate(net_bytes_recv{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ) +\nsum (\n irate(net_bytes_sent{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval]) \n )",
+ "expr": "sum (\n rate(net_bytes_recv{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ) +\nsum (\n rate(net_bytes_sent{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval]) \n )",
"format": "table",
"instant": true,
"intervalFactor": 1,
@@ -814,7 +814,7 @@
"steppedLine": false,
"targets": [
{
- "expr": "topk(10, (sum by(host) (\n (\n irate(net_bytes_recv{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ) +\n (\n irate(net_bytes_sent{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ))\n )\n)",
+ "expr": "topk(10, (sum by(host) (\n (\n rate(net_bytes_recv{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ) +\n (\n rate(net_bytes_sent{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ))\n )\n)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{host}}",
@@ -949,7 +949,7 @@
}
}
],
- "refresh": "10s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
"tags": [
diff --git a/ceph/files/grafana_dashboards/luminous-osds-detail_prometheus.json b/ceph/files/grafana_dashboards/luminous-osds-detail_prometheus.json
index f02abbb..121b026 100644
--- a/ceph/files/grafana_dashboards/luminous-osds-detail_prometheus.json
+++ b/ceph/files/grafana_dashboards/luminous-osds-detail_prometheus.json
@@ -1,5 +1,20 @@
{%- raw %}
{
+ "__inputs": [],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.3.2"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ }
+ ],
"annotations": {
"list": [
{
@@ -17,7 +32,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1545072619802,
+ "iteration": 1557395861896,
"links": [],
"panels": [
{
@@ -39,7 +54,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -64,23 +79,28 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "read",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval]) / on (ceph_daemon) irate(ceph_osd_op_r_latency_count[$rate_interval]) * 1000",
+ "expr": "rate(ceph_osd_op_r_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval]) / on (ceph_daemon) rate(ceph_osd_op_r_latency_count[$rate_interval]) * 1000",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "READs",
+ "legendFormat": "read",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval]) / on (ceph_daemon) irate(ceph_osd_op_w_latency_count[$rate_interval]) * 1000",
+ "expr": "rate(ceph_osd_op_w_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval]) / on (ceph_daemon) rate(ceph_osd_op_w_latency_count[$rate_interval]) * 1000",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "WRITEs",
+ "legendFormat": "write",
"refId": "B"
}
],
@@ -90,7 +110,7 @@
"title": "OSD $osd_id Latency",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -103,8 +123,8 @@
},
"yaxes": [
{
- "format": "ms",
- "label": null,
+ "format": "s",
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
"min": "0",
@@ -130,7 +150,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -155,20 +175,25 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "Reads",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
+ "expr": "rate(ceph_osd_op_r{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Reads",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
+ "expr": "rate(ceph_osd_op_w{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Writes",
@@ -181,7 +206,7 @@
"title": "OSD $osd_id R/W IOPS",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -195,10 +220,10 @@
"yaxes": [
{
"format": "short",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
@@ -221,7 +246,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -246,20 +271,25 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "Read Bytes",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r_out_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
+ "expr": "rate(ceph_osd_op_r_out_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Read Bytes",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w_in_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
+ "expr": "rate(ceph_osd_op_w_in_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Write Bytes",
@@ -272,7 +302,7 @@
"title": "OSD $osd_id R/W Bytes",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -286,10 +316,10 @@
"yaxes": [
{
"format": "bytes",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
@@ -325,7 +355,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -350,20 +380,25 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "label_replace(label_replace(irate(diskio_read_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") / label_replace(label_replace(irate(diskio_reads[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}",
+ "expr": "label_replace(label_replace(rate(diskio_read_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") / label_replace(label_replace(rate(diskio_reads[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{instance}}/{{device}} Reads",
"refId": "A"
},
{
- "expr": "label_replace(label_replace(irate(diskio_write_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") / label_replace(label_replace(irate(diskio_writes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}",
+ "expr": "label_replace(label_replace(rate(diskio_write_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") / label_replace(label_replace(rate(diskio_writes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{instance}}/{{device}} Writes",
@@ -376,7 +411,7 @@
"title": "Physical Device Latency for OSD $osd_id",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -390,10 +425,10 @@
"yaxes": [
{
"format": "ms",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
@@ -416,7 +451,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -441,23 +476,28 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "label_replace(label_replace(irate(diskio_reads[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}",
+ "expr": "label_replace(label_replace(rate(diskio_reads[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} READS",
+ "legendFormat": "{{device}} on {{instance}} Writes",
"refId": "A"
},
{
- "expr": "label_replace(label_replace(irate(diskio_writes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}",
+ "expr": "label_replace(label_replace(rate(diskio_writes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} WRITES",
+ "legendFormat": "{{device}} on {{instance}} Reads",
"refId": "B"
}
],
@@ -467,7 +507,7 @@
"title": "Physical Device R/W IOPS for OSD $osd_id",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -481,7 +521,7 @@
"yaxes": [
{
"format": "short",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
"min": null,
@@ -532,23 +572,28 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
- "expr": "label_replace(label_replace(irate(diskio_read_bytes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}",
+ "expr": "label_replace(label_replace(rate(diskio_read_bytes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} READS",
+ "legendFormat": "{{instance}} {{device}} Reads",
"refId": "A"
},
{
- "expr": "label_replace(label_replace(irate(diskio_write_bytes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}",
+ "expr": "label_replace(label_replace(rate(diskio_write_bytes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} WRITES",
+ "legendFormat": "{{instance}} {{device}} Writes",
"refId": "B"
}
],
@@ -558,7 +603,7 @@
"title": "Physical Device R/W Bytes for OSD $osd_id",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -571,11 +616,11 @@
},
"yaxes": [
{
- "format": "bytes",
- "label": null,
+ "format": "Bps",
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
@@ -629,10 +674,10 @@
"steppedLine": false,
"targets": [
{
- "expr": "label_replace(label_replace(irate(diskio_io_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (instance, device) ceph_disk_occupation{ceph_daemon=~\"osd.[[osd_id]]\"}",
+ "expr": "label_replace(rate(diskio_io_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.*)\") / 1000 and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}}",
+ "legendFormat": "{{device}} on {{instance}}",
"refId": "A"
}
],
@@ -642,7 +687,7 @@
"title": "Physical Device Util% for OSD $osd_id",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -655,7 +700,7 @@
},
"yaxes": [
{
- "format": "short",
+ "format": "percentunit",
"label": null,
"logBase": 1,
"max": null,
@@ -679,18 +724,33 @@
],
"schemaVersion": 16,
"style": "dark",
- "tags": [
- "ceph",
- "osd"
- ],
+ "tags": [],
"templating": {
"list": [
{
"allValue": null,
- "current": {
- "text": "0",
- "value": "0"
- },
+ "current": {},
+ "datasource": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "OSDs host",
+ "multi": true,
+ "name": "osds_host",
+ "options": [],
+ "query": "label_values(ceph_osd_metadata,hostname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {},
"datasource": null,
"hide": 0,
"includeAll": false,
@@ -698,11 +758,11 @@
"multi": false,
"name": "osd_id",
"options": [],
- "query": "label_values(ceph_osd_metadata,ceph_daemon)",
+ "query": "label_values(ceph_osd_metadata{hostname=~\"$osds_host\"}, ceph_daemon)",
"refresh": 1,
"regex": "osd.(.*)",
"skipUrlSync": false,
- "sort": 0,
+ "sort": 3,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
@@ -784,6 +844,6 @@
},
"timezone": "",
"title": "Ceph OSD device details",
- "version": 8
+ "version": 3
}
{%- endraw %}
diff --git a/ceph/files/grafana_dashboards/luminous-osds-overview_prometheus.json b/ceph/files/grafana_dashboards/luminous-osds-overview_prometheus.json
index 3337014..56bd526 100644
--- a/ceph/files/grafana_dashboards/luminous-osds-overview_prometheus.json
+++ b/ceph/files/grafana_dashboards/luminous-osds-overview_prometheus.json
@@ -1,5 +1,32 @@
{%- raw %}
{
+
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "grafana-piechart-panel",
+ "name": "Pie Chart",
+ "version": "1.4.0"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": "5.0.0"
+ }
+ ],
"annotations": {
"list": [
{
@@ -17,6 +44,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
+ "iteration": 1538083987689,
"links": [],
"panels": [
{
@@ -85,7 +113,7 @@
"title": "OSD Read Latencies",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -113,11 +141,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"columns": [],
@@ -266,7 +290,7 @@
"title": "OSD Write Latencies",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -294,11 +318,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"columns": [],
@@ -383,6 +403,232 @@
},
{
"aliasColors": {},
+ "breakPoint": "50%",
+ "cacheTimeout": null,
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": null,
+ "fontSize": "80%",
+ "format": "none",
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 0,
+ "y": 8
+ },
+ "id": 2,
+ "interval": null,
+ "legend": {
+ "show": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "links": [],
+ "maxDataPoints": 3,
+ "nullPointMode": "connected",
+ "pieType": "pie",
+ "strokeWidth": 1,
+ "targets": [
+ {
+ "expr": "count by(device_class) (ceph_osd_metadata)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device_class}}",
+ "refId": "A"
+ }
+ ],
+ "title": "OSD Types Summary",
+ "type": "grafana-piechart-panel",
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {
+ "Non-Encrypted": "#E5AC0E"
+ },
+ "breakPoint": "50%",
+ "cacheTimeout": null,
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": null,
+ "fontSize": "80%",
+ "format": "none",
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 4,
+ "y": 8
+ },
+ "height": "200px",
+ "hideTimeOverride": true,
+ "id": 4,
+ "interval": null,
+ "legend": {
+ "percentage": false,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "links": [],
+ "maxDataPoints": "1",
+ "minSpan": 4,
+ "nullPointMode": "connected",
+ "pieType": "pie",
+ "strokeWidth": 1,
+ "targets": [
+ {
+ "expr": "count(ceph_bluefs_wal_total_bytes)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "bluestore",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "expr": "count(ceph_osd_metadata) - count(ceph_bluefs_wal_total_bytes)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "filestore",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "expr": "absent(ceph_bluefs_wal_total_bytes)*count(ceph_osd_metadata)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "filestore",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "OSD Objectstore Types",
+ "type": "grafana-piechart-panel",
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
+ "breakPoint": "50%",
+ "cacheTimeout": null,
+ "combine": {
+ "label": "Others",
+ "threshold": "0.05"
+ },
+ "datasource": null,
+ "description": "The pie chart shows the various OSD sizes used within the cluster",
+ "fontSize": "80%",
+ "format": "none",
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 8,
+ "y": 8
+ },
+ "height": "220",
+ "hideTimeOverride": true,
+ "id": 8,
+ "interval": null,
+ "legend": {
+ "header": "",
+ "percentage": false,
+ "show": true,
+ "sideWidth": null,
+ "sortDesc": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "links": [],
+ "maxDataPoints": "",
+ "minSpan": 6,
+ "nullPointMode": "connected",
+ "pieType": "pie",
+ "strokeWidth": "1",
+ "targets": [
+ {
+ "expr": "count(ceph_osd_stat_bytes < 1099511627776)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<1 TB",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 1099511627776 < 2199023255552)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<2 TB",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 2199023255552 < 3298534883328)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<3TB",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 3298534883328 < 4398046511104)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<4TB",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 4398046511104 < 6597069766656)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<6TB",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 6597069766656 < 8796093022208)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<8TB",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 8796093022208 < 10995116277760)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<10TB",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 10995116277760 < 13194139533312)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<12TB",
+ "refId": "H",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 13194139533312)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "12TB+",
+ "refId": "I",
+ "step": 2
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "OSD Size Summary",
+ "type": "grafana-piechart-panel",
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
"bars": true,
"dashLength": 10,
"dashes": false,
@@ -390,9 +636,9 @@
"description": "Each bar indicates the number of OSD's that have a PG count in a specific range as shown on the x axis.",
"fill": 1,
"gridPos": {
- "h": 7,
- "w": 24,
- "x": 0,
+ "h": 8,
+ "w": 12,
+ "x": 12,
"y": 8
},
"id": 6,
@@ -417,8 +663,6 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "repeat": null,
- "repeatDirection": "h",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
@@ -438,18 +682,19 @@
"timeShift": null,
"title": "Distribution of PGs per OSD",
"tooltip": {
- "shared": true,
+ "shared": false,
"sort": 0,
"value_type": "individual"
},
- "transparent": false,
"type": "graph",
"xaxis": {
"buckets": 20,
"mode": "histogram",
"name": null,
"show": true,
- "values": []
+ "values": [
+ "total"
+ ]
},
"yaxes": [
{
@@ -469,11 +714,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"collapsed": false,
@@ -481,7 +722,7 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 15
+ "y": 16
},
"id": 20,
"panels": [],
@@ -500,7 +741,7 @@
"h": 8,
"w": 24,
"x": 0,
- "y": 16
+ "y": 17
},
"id": 10,
"legend": {
@@ -528,9 +769,6 @@
{
"expr": "round(sum(irate(ceph_pool_rd[$rate_interval])))",
"format": "time_series",
- "hide": false,
- "instant": false,
- "interval": "",
"intervalFactor": 1,
"legendFormat": "Reads",
"refId": "A"
@@ -538,20 +776,18 @@
{
"expr": "round(sum(irate(ceph_pool_wr[$rate_interval])))",
"format": "time_series",
- "instant": false,
- "interval": "",
"intervalFactor": 1,
"legendFormat": "Writes",
"refId": "B"
}
],
"thresholds": [],
- "timeFrom": "36h",
+ "timeFrom": null,
"timeShift": null,
"title": "Read/Write Profile",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -579,20 +815,13 @@
"min": null,
"show": true
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
}
],
- "refresh": "30s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
- "tags": [
- "ceph",
- "osd"
- ],
+ "tags": [],
"templating": {
"list": [
{
@@ -671,6 +900,6 @@
},
"timezone": "",
"title": "Ceph OSD Overview",
- "version": 11
+ "version": 3
}
{%- endraw %}
diff --git a/ceph/files/grafana_dashboards/luminous-pool-details_prometheus.json b/ceph/files/grafana_dashboards/luminous-pool-details_prometheus.json
new file mode 100644
index 0000000..1501fdb
--- /dev/null
+++ b/ceph/files/grafana_dashboards/luminous-pool-details_prometheus.json
@@ -0,0 +1,692 @@
+{%- raw %}
+{
+ "__inputs": [],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.3.2"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "singlestat",
+ "name": "Singlestat",
+ "version": "5.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "prometheus",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": null,
+ "iteration": 1551858875941,
+ "links": [],
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": true,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": null,
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 7,
+ "x": 0,
+ "y": 0
+ },
+ "id": 12,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "(ceph_pool_bytes_used / ceph_pool_max_avail) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": ".7,.8",
+ "title": "Capacity used",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": null,
+ "description": "Time till pool is full assuming the average fill rate of the last 6 hours",
+ "format": "s",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 7,
+ "y": 0
+ },
+ "id": 14,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "((ceph_pool_max_avail - ceph_pool_bytes_used) / deriv(ceph_pool_bytes_used[6h])) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Time till full",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "inf",
+ "value": "null"
+ },
+ {
+ "op": "=",
+ "text": "inf",
+ "value": "N/A"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 10,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "deriv(ceph_pool_objects[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Objects per second",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Object In-/Egress",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": "Objects out(-) / in(+) ",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "reads",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ceph_pool_rd[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "reads",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ceph_pool_wr[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "writes",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Client IOPS",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "iops",
+ "label": "Read (-) / Write (+)",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 7,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "reads",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ceph_pool_rd_bytes[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "reads",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ceph_pool_wr_bytes[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "writes",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Client Throughput",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": "Read (-) / Write (+)",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 8,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "ceph_pool_objects * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Number of Objects",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Objects",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Objects",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "Pool Name",
+ "multi": false,
+ "name": "pool_name",
+ "options": [],
+ "query": "label_values(ceph_pool_metadata,name)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "3m",
+ "value": "3m"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "rate_interval",
+ "multi": false,
+ "name": "rate_interval",
+ "options": [
+ {
+ "selected": false,
+ "text": "1m",
+ "value": "1m"
+ },
+ {
+ "selected": true,
+ "text": "3m",
+ "value": "3m"
+ },
+ {
+ "selected": false,
+ "text": "5m",
+ "value": "5m"
+ },
+ {
+ "selected": false,
+ "text": "10m",
+ "value": "10m"
+ },
+ {
+ "selected": false,
+ "text": "15m",
+ "value": "15m"
+ }
+ ],
+ "query": "1m,3m,5m,10m,15m",
+ "skipUrlSync": false,
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "15s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Ceph Pool Details",
+ "version": 1
+}
+{%- endraw %}
diff --git a/ceph/files/grafana_dashboards/luminous-radosgw-detail_prometheus.json b/ceph/files/grafana_dashboards/luminous-radosgw-detail_prometheus.json
index c536351..a72d154 100644
--- a/ceph/files/grafana_dashboards/luminous-radosgw-detail_prometheus.json
+++ b/ceph/files/grafana_dashboards/luminous-radosgw-detail_prometheus.json
@@ -1,5 +1,25 @@
{%- raw %}
{
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "grafana-piechart-panel",
+ "name": "Pie Chart",
+ "version": "1.4.0"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ }
+ ],
"annotations": {
"list": [
{
@@ -71,14 +91,14 @@
"steppedLine": false,
"targets": [
{
- "expr": "rate(ceph_rgw_get_initial_lat_sum{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]) / rate(ceph_rgw_get_initial_lat_count{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval])",
+ "expr": "sum by (ceph_daemon) (rate(ceph_rgw_get_initial_lat_sum{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]) / rate(ceph_rgw_get_initial_lat_count{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "GET {{ceph_daemon}}",
"refId": "A"
},
{
- "expr": "rate(ceph_rgw_put_initial_lat_sum{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]) / rate(ceph_rgw_put_initial_lat_count{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval])",
+ "expr": "sum by (ceph_daemon)(rate(ceph_rgw_put_initial_lat_sum{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]) / rate(ceph_rgw_put_initial_lat_count{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "PUT {{ceph_daemon}}",
@@ -327,9 +347,77 @@
"align": false,
"alignLevel": null
}
+ },
+ {
+ "aliasColors": {
+ "Failures": "#bf1b00",
+ "GETs": "#7eb26d",
+ "Other (HEAD,POST,DELETE)": "#447ebc",
+ "PUTs": "#eab839"
+ },
+ "breakPoint": "50%",
+ "cacheTimeout": null,
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": null,
+ "fontSize": "80%",
+ "format": "none",
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 23,
+ "interval": null,
+ "legend": {
+ "show": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "links": [],
+ "maxDataPoints": 3,
+ "nullPointMode": "connected",
+ "pieType": "pie",
+ "strokeWidth": 1,
+ "targets": [
+ {
+ "expr": "rate(ceph_rgw_failed_req{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Failures {{ceph_daemon}}",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ceph_rgw_get{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "GETs {{ceph_daemon}}",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ceph_rgw_put{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "PUTs {{ceph_daemon}}",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ceph_rgw_req{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval]) -\n (rate(ceph_rgw_get{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval]) +\n rate(ceph_rgw_put{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Other (DELETE,LIST) {{ceph_daemon}}",
+ "refId": "D"
+ }
+ ],
+ "title": "Workload Breakdown",
+ "type": "grafana-piechart-panel",
+ "valueName": "current"
}
],
- "refresh": "15s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
"tags": [
diff --git a/ceph/files/grafana_dashboards/luminous-radosgw-overview_prometheus.json b/ceph/files/grafana_dashboards/luminous-radosgw-overview_prometheus.json
index 4a69c5c..a8a4106 100644
--- a/ceph/files/grafana_dashboards/luminous-radosgw-overview_prometheus.json
+++ b/ceph/files/grafana_dashboards/luminous-radosgw-overview_prometheus.json
@@ -1,6 +1,20 @@
{%- raw %}
{
- "annotations": {
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ }
+ ],
+ "annotations": {
"list": [
{
"builtIn": 1,
@@ -243,7 +257,7 @@
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
- "stack": false,
+ "stack": true,
"steppedLine": false,
"targets": [
{
@@ -559,7 +573,7 @@
}
}
],
- "refresh": "15s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
"tags": [
diff --git a/ceph/files/grafana_dashboards/nautilus-ceph-cluster_prometheus.json b/ceph/files/grafana_dashboards/nautilus-ceph-cluster_prometheus.json
index dedf7e9..03486ed 100644
--- a/ceph/files/grafana_dashboards/nautilus-ceph-cluster_prometheus.json
+++ b/ceph/files/grafana_dashboards/nautilus-ceph-cluster_prometheus.json
@@ -1,5 +1,37 @@
{%- raw %}
{
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "heatmap",
+ "name": "Heatmap",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "singlestat",
+ "name": "Singlestat",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "vonage-status-panel",
+ "name": "Status Panel",
+ "version": "1.0.9"
+ }
+ ],
"annotations": {
"list": [
{
@@ -18,7 +50,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1545072771425,
+ "iteration": 1525415495309,
"links": [],
"panels": [
{
@@ -86,8 +118,9 @@
"tableColumn": "",
"targets": [
{
- "expr": "ceph_health_status{instance=~'$instance'}",
+ "expr": "ceph_health_status",
"format": "time_series",
+ "instant": true,
"interval": "$interval",
"intervalFactor": 1,
"refId": "A",
@@ -95,7 +128,7 @@
}
],
"thresholds": "1,2",
- "timeFrom": "1m",
+ "timeFrom": null,
"title": "Health Status",
"transparent": false,
"type": "singlestat",
@@ -120,86 +153,114 @@
"valueName": "current"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(50, 128, 45, 0.9)",
- "rgba(237, 129, 40, 0.9)",
- "rgb(255, 0, 0)"
- ],
- "datasource": null,
- "editable": true,
- "error": false,
- "format": "bytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "colorMode": "Panel",
+ "colors": {
+ "crit": "rgb(255, 0, 0)",
+ "disable": "rgba(128, 128, 128, 0.9)",
+ "ok": "rgba(50, 128, 45, 0.9)",
+ "warn": "rgba(237, 129, 40, 0.9)"
},
+ "cornerRadius": 0,
+ "datasource": null,
+ "displayName": "",
+ "flipCard": false,
+ "flipTime": 5,
+ "fontFormat": "Regular",
"gridPos": {
"h": 3,
"w": 2,
"x": 2,
"y": 0
},
- "hideTimeOverride": true,
- "id": 67,
- "interval": "1m",
+ "id": 43,
+ "isAutoScrollOnOverflow": false,
+ "isGrayOnNoData": false,
+ "isHideAlertsOnDisable": false,
+ "isIgnoreOKColors": false,
"links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 2,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
"targets": [
{
- "expr": "sum(ceph_osd_stat_bytes{instance=~\"$instance\"})",
+ "aggregation": "Last",
+ "alias": "All",
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "count(ceph_osd_metadata)",
"format": "time_series",
- "interval": "$interval",
"intervalFactor": 1,
+ "legendFormat": "All",
"refId": "A",
- "step": 60
+ "units": "none",
+ "valueHandler": "Number Threshold"
+ },
+ {
+ "aggregation": "Last",
+ "alias": "In",
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_osds_in)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "In",
+ "refId": "B",
+ "units": "none",
+ "valueHandler": "Number Threshold"
+ },
+ {
+ "aggregation": "Last",
+ "alias": "Out",
+ "decimals": 2,
+ "displayAliasType": "Warning / Critical",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_osd_in == bool 0)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Out",
+ "refId": "C",
+ "units": "none",
+ "valueHandler": "Number Threshold",
+ "warn": 1
+ },
+ {
+ "aggregation": "Last",
+ "alias": "Up",
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_osd_up)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Up",
+ "refId": "D",
+ "units": "none",
+ "valueHandler": "Number Threshold"
+ },
+ {
+ "aggregation": "Last",
+ "alias": "Down",
+ "crit": 2,
+ "decimals": 2,
+ "displayAliasType": "Warning / Critical",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_osd_up == bool 0)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Down",
+ "refId": "E",
+ "units": "none",
+ "valueHandler": "Number Threshold",
+ "warn": 1
}
],
- "thresholds": "",
- "timeFrom": "1m",
- "title": "Total",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "50%",
- "valueMaps": [],
- "valueName": "current"
+ "title": "OSDs",
+ "type": "vonage-status-panel"
},
{
"cacheTimeout": null,
@@ -262,7 +323,7 @@
"tableColumn": "",
"targets": [
{
- "expr": "sum(ceph_osd_stat_bytes_used{instance=~\"$instance\"})/sum(ceph_osd_stat_bytes{instance=~\"$instance\"})",
+ "expr": "sum(ceph_osd_stat_bytes_used)/sum(ceph_osd_stat_bytes)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Used",
@@ -353,49 +414,49 @@
"steppedLine": false,
"targets": [
{
- "expr": "ceph_pg_total",
+ "expr": "sum(ceph_pg_total)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Total",
"refId": "A"
},
{
- "expr": "ceph_pg_active",
+ "expr": "sum(ceph_pg_active)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Active",
"refId": "B"
},
{
- "expr": "ceph_pg_total - ceph_pg_active",
+ "expr": "sum(ceph_pg_total - ceph_pg_active)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Inactive",
"refId": "G"
},
{
- "expr": "ceph_pg_undersized",
+ "expr": "sum(ceph_pg_undersized)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Undersized",
"refId": "F"
},
{
- "expr": "ceph_pg_degraded",
+ "expr": "sum(ceph_pg_degraded)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Degraded",
"refId": "C"
},
{
- "expr": "ceph_pg_inconsistent",
+ "expr": "sum(ceph_pg_inconsistent)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Inconsistent",
"refId": "D"
},
{
- "expr": "ceph_pg_down",
+ "expr": "sum(ceph_pg_down)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Down",
@@ -436,11 +497,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"aliasColors": {},
@@ -484,28 +541,28 @@
"steppedLine": false,
"targets": [
{
- "expr": "quantile(0.95, ceph_osd_apply_latency_ms{instance=~\"$instance\"})",
+ "expr": "quantile(0.95, ceph_osd_apply_latency_ms)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Apply Latency P_95",
"refId": "A"
},
{
- "expr": "quantile(0.95, ceph_osd_commit_latency_ms{instance=~\"$instance\"})",
+ "expr": "quantile(0.95, ceph_osd_commit_latency_ms)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Commit Latency P_95",
"refId": "B"
},
{
- "expr": "avg(ceph_osd_apply_latency_ms{instance=~\"$instance\"})",
+ "expr": "avg(ceph_osd_apply_latency_ms)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Avg Apply Latency",
"refId": "C"
},
{
- "expr": "avg(ceph_osd_commit_latency_ms{instance=~\"$instance\"})",
+ "expr": "avg(ceph_osd_commit_latency_ms)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Avg Commit Latency",
@@ -546,175 +603,89 @@
"min": null,
"show": true
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(50, 128, 45, 0.9)",
- "rgba(237, 129, 40, 0.9)",
- "rgb(255, 0, 0)"
- ],
- "datasource": null,
- "editable": true,
- "error": false,
- "format": "bytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "clusterName": "",
+ "colorMode": "Panel",
+ "colors": {
+ "crit": "rgba(245, 54, 54, 0.9)",
+ "disable": "rgba(128, 128, 128, 0.9)",
+ "ok": "rgba(50, 128, 45, 0.9)",
+ "warn": "rgba(237, 129, 40, 0.9)"
},
+ "cornerRadius": 1,
+ "datasource": null,
+ "displayName": "",
+ "flipCard": false,
+ "flipTime": 5,
+ "fontFormat": "Regular",
"gridPos": {
"h": 3,
"w": 2,
"x": 0,
"y": 3
},
- "hideTimeOverride": true,
- "id": 68,
- "interval": "1m",
+ "id": 41,
+ "isAutoScrollOnOverflow": false,
+ "isGrayOnNoData": false,
+ "isHideAlertsOnDisable": false,
+ "isIgnoreOKColors": false,
"links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 2,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
"targets": [
{
- "expr": "sum(ceph_osd_stat_bytes{instance=~\"$instance\"})-sum(ceph_osd_stat_bytes_used{instance=~\"$instance\"})",
+ "aggregation": "Last",
+ "alias": "In Quorum",
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "sum(ceph_mon_quorum_status)",
"format": "time_series",
- "interval": "$interval",
+ "interval": "",
"intervalFactor": 1,
+ "legendFormat": "In Quorum",
"refId": "A",
- "step": 60
- }
- ],
- "thresholds": "",
- "timeFrom": "1m",
- "title": "Free",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "50%",
- "valueMaps": [],
- "valueName": "current"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(50, 128, 45, 0.9)",
- "rgba(237, 129, 40, 0.9)",
- "rgb(255, 0, 0)"
- ],
- "datasource": null,
- "editable": true,
- "error": false,
- "format": "bytes",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 3,
- "w": 2,
- "x": 2,
- "y": 3
- },
- "hideTimeOverride": true,
- "id": 69,
- "interval": "1m",
- "links": [],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
+ "units": "none",
+ "valueHandler": "Text Only"
},
{
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "nullPointMode": "connected",
- "nullText": null,
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 2,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "sum(ceph_osd_stat_bytes_used{instance=~\"$instance\"})",
+ "aggregation": "Last",
+ "alias": "Total",
+ "crit": 1,
+ "decimals": 2,
+ "displayAliasType": "Always",
+ "displayType": "Regular",
+ "displayValueWithAlias": "When Alias Displayed",
+ "expr": "count(ceph_mon_quorum_status)",
"format": "time_series",
- "interval": "$interval",
"intervalFactor": 1,
- "refId": "A",
- "step": 60
+ "legendFormat": "Total",
+ "refId": "B",
+ "units": "none",
+ "valueHandler": "Text Only",
+ "warn": 2
+ },
+ {
+ "aggregation": "Last",
+ "alias": "MONs out of Quorum",
+ "crit": 1.6,
+ "decimals": 2,
+ "displayAliasType": "Warning / Critical",
+ "displayType": "Annotation",
+ "displayValueWithAlias": "Never",
+ "expr": "count(ceph_mon_quorum_status) / sum(ceph_mon_quorum_status)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "MONs out of Quorum",
+ "refId": "C",
+ "units": "none",
+ "valueHandler": "Number Threshold",
+ "warn": 1.1
}
],
- "thresholds": "",
- "timeFrom": "1m",
- "title": "Used",
- "transparent": false,
- "type": "singlestat",
- "valueFontSize": "50%",
- "valueMaps": [],
- "valueName": "current"
+ "title": "Monitors",
+ "type": "vonage-status-panel"
},
{
"aliasColors": {},
@@ -758,14 +729,14 @@
"steppedLine": false,
"targets": [
{
- "expr": "sum(irate(ceph_osd_op_w_in_bytes{instance=~\"$instance\"}[$rate_interval]))",
+ "expr": "sum(irate(ceph_osd_op_w_in_bytes[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Writes",
"refId": "A"
},
{
- "expr": "sum(irate(ceph_osd_op_r_out_bytes{instance=~\"$instance\"}[$rate_interval]))",
+ "expr": "sum(irate(ceph_osd_op_r_out_bytes[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Reads",
@@ -806,11 +777,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"aliasColors": {},
@@ -849,10 +816,9 @@
"steppedLine": false,
"targets": [
{
- "expr": "sum(deriv(ceph_pool_stored{instance=~\"$instance\"}[$rate_interval]))",
+ "expr": "sum(deriv(ceph_pool_stored[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "Bytes",
"refId": "A"
}
],
@@ -890,11 +856,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"cards": {
@@ -927,9 +889,8 @@
"span": 12,
"targets": [
{
- "expr": "ceph_osd_stat_bytes_used{instance=~'$instance'} / ceph_osd_stat_bytes{instance=~'$instance'}",
+ "expr": "ceph_osd_stat_bytes_used / ceph_osd_stat_bytes",
"format": "time_series",
- "instant": false,
"interval": "1m",
"intervalFactor": 1,
"legendFormat": "Util (%)",
@@ -958,7 +919,6 @@
"show": true,
"splitFactor": null
},
- "yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
@@ -991,7 +951,7 @@
"links": [],
"targets": [
{
- "expr": "ceph_osd_numpg{instance=~\"$instance\"}",
+ "expr": "ceph_osd_numpg",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "#PGs",
@@ -1018,7 +978,6 @@
"show": true,
"splitFactor": null
},
- "yBucketBound": "auto",
"yBucketNumber": null,
"yBucketSize": null
},
@@ -1100,14 +1059,10 @@
"min": null,
"show": true
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
}
],
- "refresh": "30s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
"tags": [
@@ -1189,16 +1144,12 @@
],
"query": "1m,10m,30m,1h,6h,12h,1d,7d,14d,30d",
"refresh": 2,
- "skipUrlSync": false,
"type": "interval"
},
{
"allFormat": "glob",
"allValue": null,
- "current": {
- "text": "All",
- "value": "$__all"
- },
+ "current": {},
"datasource": null,
"hide": 0,
"hideLabel": false,
@@ -1211,7 +1162,6 @@
"query": "label_values(ceph_health_status, instance)",
"refresh": 1,
"regex": "",
- "skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
@@ -1295,6 +1245,6 @@
},
"timezone": "browser",
"title": "Ceph - Cluster",
- "version": 7
-}
+ "version": 13
+ }
{%- endraw %}
diff --git a/ceph/files/grafana_dashboards/nautilus-hosts-overview_prometheus.json b/ceph/files/grafana_dashboards/nautilus-hosts-overview_prometheus.json
index 921f886..9d4c32d 100644
--- a/ceph/files/grafana_dashboards/nautilus-hosts-overview_prometheus.json
+++ b/ceph/files/grafana_dashboards/nautilus-hosts-overview_prometheus.json
@@ -412,7 +412,7 @@
"tableColumn": "Value",
"targets": [
{
- "expr": "sum (irate(diskio_reads{host=~\"($osd_hosts).*\"}[5m]) + irate(diskio_writes{host=~\"($osd_hosts).*\"}[5m]))",
+ "expr": "sum (rate(diskio_reads{host=~\"($osd_hosts).*\"}[$rate_interval]) + rate(diskio_writes{host=~\"($osd_hosts).*\"}[$rate_interval]))",
"format": "table",
"instant": true,
"intervalFactor": 1,
@@ -577,7 +577,7 @@
"tableColumn": "Value",
"targets": [
{
- "expr": "avg ( (irate(diskio_io_time{host=~\"($osd_hosts).*\"}[5m])) )",
+ "expr": "avg ( (rate(diskio_io_time{host=~\"($osd_hosts).*\"}[$rate_interval])) )",
"format": "table",
"instant": true,
"intervalFactor": 1,
@@ -660,7 +660,7 @@
"tableColumn": "Value",
"targets": [
{
- "expr": "sum (\n irate(net_bytes_recv{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ) +\nsum (\n irate(net_bytes_sent{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval]) \n )",
+ "expr": "sum (\n rate(net_bytes_recv{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ) +\nsum (\n rate(net_bytes_sent{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval]) \n )",
"format": "table",
"instant": true,
"intervalFactor": 1,
@@ -814,7 +814,7 @@
"steppedLine": false,
"targets": [
{
- "expr": "topk(10, (sum by(host) (\n (\n irate(net_bytes_recv{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ) +\n (\n irate(net_bytes_sent{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ))\n )\n)",
+ "expr": "topk(10, (sum by(host) (\n (\n rate(net_bytes_recv{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ) +\n (\n rate(net_bytes_sent{host=~\"($osd_hosts|mon_hosts|rgw_hosts).*\",device!=\"lo\"}[$rate_interval])\n ))\n )\n)",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{host}}",
@@ -949,7 +949,7 @@
}
}
],
- "refresh": "10s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
"tags": [
diff --git a/ceph/files/grafana_dashboards/nautilus-osds-detail_prometheus.json b/ceph/files/grafana_dashboards/nautilus-osds-detail_prometheus.json
index cc2b4d1..121b026 100644
--- a/ceph/files/grafana_dashboards/nautilus-osds-detail_prometheus.json
+++ b/ceph/files/grafana_dashboards/nautilus-osds-detail_prometheus.json
@@ -1,5 +1,20 @@
{%- raw %}
{
+ "__inputs": [],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.3.2"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ }
+ ],
"annotations": {
"list": [
{
@@ -17,7 +32,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
- "iteration": 1545072619802,
+ "iteration": 1557395861896,
"links": [],
"panels": [
{
@@ -39,7 +54,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -64,23 +79,28 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "read",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval]) / on (ceph_daemon) irate(ceph_osd_op_r_latency_count[$rate_interval]) * 1000",
+ "expr": "rate(ceph_osd_op_r_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval]) / on (ceph_daemon) rate(ceph_osd_op_r_latency_count[$rate_interval]) * 1000",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "READs",
+ "legendFormat": "read",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval]) / on (ceph_daemon) irate(ceph_osd_op_w_latency_count[$rate_interval]) * 1000",
+ "expr": "rate(ceph_osd_op_w_latency_sum{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval]) / on (ceph_daemon) rate(ceph_osd_op_w_latency_count[$rate_interval]) * 1000",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "WRITEs",
+ "legendFormat": "write",
"refId": "B"
}
],
@@ -90,7 +110,7 @@
"title": "OSD $osd_id Latency",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -103,8 +123,8 @@
},
"yaxes": [
{
- "format": "ms",
- "label": null,
+ "format": "s",
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
"min": "0",
@@ -130,7 +150,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -155,20 +175,25 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "Reads",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
+ "expr": "rate(ceph_osd_op_r{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Reads",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
+ "expr": "rate(ceph_osd_op_w{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Writes",
@@ -181,7 +206,7 @@
"title": "OSD $osd_id R/W IOPS",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -195,10 +220,10 @@
"yaxes": [
{
"format": "short",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
@@ -221,7 +246,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -246,20 +271,25 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "Read Bytes",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "irate(ceph_osd_op_r_out_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
+ "expr": "rate(ceph_osd_op_r_out_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Read Bytes",
"refId": "A"
},
{
- "expr": "irate(ceph_osd_op_w_in_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
+ "expr": "rate(ceph_osd_op_w_in_bytes{ceph_daemon=~\"osd.[[osd_id]]\"}[$rate_interval])",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "Write Bytes",
@@ -272,7 +302,7 @@
"title": "OSD $osd_id R/W Bytes",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -286,10 +316,10 @@
"yaxes": [
{
"format": "bytes",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
@@ -325,7 +355,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -350,20 +380,25 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "label_replace(label_replace(irate(diskio_read_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") / label_replace(label_replace(irate(diskio_reads[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+ "expr": "label_replace(label_replace(rate(diskio_read_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") / label_replace(label_replace(rate(diskio_reads[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{instance}}/{{device}} Reads",
"refId": "A"
},
{
- "expr": "label_replace(label_replace(irate(diskio_write_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") / label_replace(label_replace(irate(diskio_writes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+ "expr": "label_replace(label_replace(rate(diskio_write_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") / label_replace(label_replace(rate(diskio_writes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "{{instance}}/{{device}} Writes",
@@ -376,7 +411,7 @@
"title": "Physical Device Latency for OSD $osd_id",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -390,10 +425,10 @@
"yaxes": [
{
"format": "ms",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
@@ -416,7 +451,7 @@
"dashLength": 10,
"dashes": false,
"datasource": null,
- "fill": 1,
+ "fill": 0,
"gridPos": {
"h": 9,
"w": 6,
@@ -441,23 +476,28 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
- "stack": true,
+ "stack": false,
"steppedLine": false,
"targets": [
{
- "expr": "label_replace(label_replace(irate(diskio_reads[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+ "expr": "label_replace(label_replace(rate(diskio_reads[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} READS",
+ "legendFormat": "{{device}} on {{instance}} Writes",
"refId": "A"
},
{
- "expr": "label_replace(label_replace(irate(diskio_writes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+ "expr": "label_replace(label_replace(rate(diskio_writes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} WRITES",
+ "legendFormat": "{{device}} on {{instance}} Reads",
"refId": "B"
}
],
@@ -467,7 +507,7 @@
"title": "Physical Device R/W IOPS for OSD $osd_id",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -481,7 +521,7 @@
"yaxes": [
{
"format": "short",
- "label": null,
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
"min": null,
@@ -532,23 +572,28 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "seriesOverrides": [],
+ "seriesOverrides": [
+ {
+ "alias": "/.*Reads/",
+ "transform": "negative-Y"
+ }
+ ],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
- "expr": "label_replace(label_replace(irate(diskio_read_bytes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+ "expr": "label_replace(label_replace(rate(diskio_read_bytes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} READS",
+ "legendFormat": "{{instance}} {{device}} Reads",
"refId": "A"
},
{
- "expr": "label_replace(label_replace(irate(diskio_write_bytes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+ "expr": "label_replace(label_replace(rate(diskio_write_bytes[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.+)\"), \"device\", \"$1\", \"name\", \"(.+)\") and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}} WRITES",
+ "legendFormat": "{{instance}} {{device}} Writes",
"refId": "B"
}
],
@@ -558,7 +603,7 @@
"title": "Physical Device R/W Bytes for OSD $osd_id",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -571,11 +616,11 @@
},
"yaxes": [
{
- "format": "bytes",
- "label": null,
+ "format": "Bps",
+ "label": "Read (-) / Write (+)",
"logBase": 1,
"max": null,
- "min": "0",
+ "min": null,
"show": true
},
{
@@ -629,10 +674,10 @@
"steppedLine": false,
"targets": [
{
- "expr": "label_replace(irate(diskio_io_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.*)\") / 1000 and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
+ "expr": "label_replace(rate(diskio_io_time[$rate_interval]), \"instance\", \"$1\", \"host\", \"(.*)\") / 1000 and on (name,instance) label_replace(label_replace(ceph_disk_occupation{ceph_daemon=~\"osd.$osd_id\"}, \"name\", \"$1\", \"device\", \"/dev/(.*)\"), \"instance\", \"$1\", \"instance\", \"(.*)\")",
"format": "time_series",
"intervalFactor": 1,
- "legendFormat": "{{instance}} {{device}}",
+ "legendFormat": "{{device}} on {{instance}}",
"refId": "A"
}
],
@@ -642,7 +687,7 @@
"title": "Physical Device Util% for OSD $osd_id",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -655,7 +700,7 @@
},
"yaxes": [
{
- "format": "short",
+ "format": "percentunit",
"label": null,
"logBase": 1,
"max": null,
@@ -679,18 +724,33 @@
],
"schemaVersion": 16,
"style": "dark",
- "tags": [
- "ceph",
- "osd"
- ],
+ "tags": [],
"templating": {
"list": [
{
"allValue": null,
- "current": {
- "text": "0",
- "value": "0"
- },
+ "current": {},
+ "datasource": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "OSDs host",
+ "multi": true,
+ "name": "osds_host",
+ "options": [],
+ "query": "label_values(ceph_osd_metadata,hostname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {},
"datasource": null,
"hide": 0,
"includeAll": false,
@@ -698,11 +758,11 @@
"multi": false,
"name": "osd_id",
"options": [],
- "query": "label_values(ceph_osd_metadata,ceph_daemon)",
+ "query": "label_values(ceph_osd_metadata{hostname=~\"$osds_host\"}, ceph_daemon)",
"refresh": 1,
"regex": "osd.(.*)",
"skipUrlSync": false,
- "sort": 0,
+ "sort": 3,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
@@ -784,6 +844,6 @@
},
"timezone": "",
"title": "Ceph OSD device details",
- "version": 8
+ "version": 3
}
{%- endraw %}
diff --git a/ceph/files/grafana_dashboards/nautilus-osds-overview_prometheus.json b/ceph/files/grafana_dashboards/nautilus-osds-overview_prometheus.json
index 3337014..56bd526 100644
--- a/ceph/files/grafana_dashboards/nautilus-osds-overview_prometheus.json
+++ b/ceph/files/grafana_dashboards/nautilus-osds-overview_prometheus.json
@@ -1,5 +1,32 @@
{%- raw %}
{
+
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "grafana-piechart-panel",
+ "name": "Pie Chart",
+ "version": "1.4.0"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": "5.0.0"
+ }
+ ],
"annotations": {
"list": [
{
@@ -17,6 +44,7 @@
"gnetId": null,
"graphTooltip": 0,
"id": null,
+ "iteration": 1538083987689,
"links": [],
"panels": [
{
@@ -85,7 +113,7 @@
"title": "OSD Read Latencies",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -113,11 +141,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"columns": [],
@@ -266,7 +290,7 @@
"title": "OSD Write Latencies",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -294,11 +318,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"columns": [],
@@ -383,6 +403,232 @@
},
{
"aliasColors": {},
+ "breakPoint": "50%",
+ "cacheTimeout": null,
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": null,
+ "fontSize": "80%",
+ "format": "none",
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 0,
+ "y": 8
+ },
+ "id": 2,
+ "interval": null,
+ "legend": {
+ "show": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "links": [],
+ "maxDataPoints": 3,
+ "nullPointMode": "connected",
+ "pieType": "pie",
+ "strokeWidth": 1,
+ "targets": [
+ {
+ "expr": "count by(device_class) (ceph_osd_metadata)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device_class}}",
+ "refId": "A"
+ }
+ ],
+ "title": "OSD Types Summary",
+ "type": "grafana-piechart-panel",
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {
+ "Non-Encrypted": "#E5AC0E"
+ },
+ "breakPoint": "50%",
+ "cacheTimeout": null,
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": null,
+ "fontSize": "80%",
+ "format": "none",
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 4,
+ "y": 8
+ },
+ "height": "200px",
+ "hideTimeOverride": true,
+ "id": 4,
+ "interval": null,
+ "legend": {
+ "percentage": false,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "links": [],
+ "maxDataPoints": "1",
+ "minSpan": 4,
+ "nullPointMode": "connected",
+ "pieType": "pie",
+ "strokeWidth": 1,
+ "targets": [
+ {
+ "expr": "count(ceph_bluefs_wal_total_bytes)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "bluestore",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "expr": "count(ceph_osd_metadata) - count(ceph_bluefs_wal_total_bytes)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "filestore",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "expr": "absent(ceph_bluefs_wal_total_bytes)*count(ceph_osd_metadata)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "filestore",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "OSD Objectstore Types",
+ "type": "grafana-piechart-panel",
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
+ "breakPoint": "50%",
+ "cacheTimeout": null,
+ "combine": {
+ "label": "Others",
+ "threshold": "0.05"
+ },
+ "datasource": null,
+ "description": "The pie chart shows the various OSD sizes used within the cluster",
+ "fontSize": "80%",
+ "format": "none",
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 8,
+ "y": 8
+ },
+ "height": "220",
+ "hideTimeOverride": true,
+ "id": 8,
+ "interval": null,
+ "legend": {
+ "header": "",
+ "percentage": false,
+ "show": true,
+ "sideWidth": null,
+ "sortDesc": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "links": [],
+ "maxDataPoints": "",
+ "minSpan": 6,
+ "nullPointMode": "connected",
+ "pieType": "pie",
+ "strokeWidth": "1",
+ "targets": [
+ {
+ "expr": "count(ceph_osd_stat_bytes < 1099511627776)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<1 TB",
+ "refId": "A",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 1099511627776 < 2199023255552)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<2 TB",
+ "refId": "B",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 2199023255552 < 3298534883328)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<3TB",
+ "refId": "C",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 3298534883328 < 4398046511104)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<4TB",
+ "refId": "D",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 4398046511104 < 6597069766656)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<6TB",
+ "refId": "E",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 6597069766656 < 8796093022208)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<8TB",
+ "refId": "F",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 8796093022208 < 10995116277760)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<10TB",
+ "refId": "G",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 10995116277760 < 13194139533312)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "<12TB",
+ "refId": "H",
+ "step": 2
+ },
+ {
+ "expr": "count(ceph_osd_stat_bytes >= 13194139533312)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "12TB+",
+ "refId": "I",
+ "step": 2
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "OSD Size Summary",
+ "type": "grafana-piechart-panel",
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {},
"bars": true,
"dashLength": 10,
"dashes": false,
@@ -390,9 +636,9 @@
"description": "Each bar indicates the number of OSD's that have a PG count in a specific range as shown on the x axis.",
"fill": 1,
"gridPos": {
- "h": 7,
- "w": 24,
- "x": 0,
+ "h": 8,
+ "w": 12,
+ "x": 12,
"y": 8
},
"id": 6,
@@ -417,8 +663,6 @@
"pointradius": 5,
"points": false,
"renderer": "flot",
- "repeat": null,
- "repeatDirection": "h",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
@@ -438,18 +682,19 @@
"timeShift": null,
"title": "Distribution of PGs per OSD",
"tooltip": {
- "shared": true,
+ "shared": false,
"sort": 0,
"value_type": "individual"
},
- "transparent": false,
"type": "graph",
"xaxis": {
"buckets": 20,
"mode": "histogram",
"name": null,
"show": true,
- "values": []
+ "values": [
+ "total"
+ ]
},
"yaxes": [
{
@@ -469,11 +714,7 @@
"min": null,
"show": false
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
},
{
"collapsed": false,
@@ -481,7 +722,7 @@
"h": 1,
"w": 24,
"x": 0,
- "y": 15
+ "y": 16
},
"id": 20,
"panels": [],
@@ -500,7 +741,7 @@
"h": 8,
"w": 24,
"x": 0,
- "y": 16
+ "y": 17
},
"id": 10,
"legend": {
@@ -528,9 +769,6 @@
{
"expr": "round(sum(irate(ceph_pool_rd[$rate_interval])))",
"format": "time_series",
- "hide": false,
- "instant": false,
- "interval": "",
"intervalFactor": 1,
"legendFormat": "Reads",
"refId": "A"
@@ -538,20 +776,18 @@
{
"expr": "round(sum(irate(ceph_pool_wr[$rate_interval])))",
"format": "time_series",
- "instant": false,
- "interval": "",
"intervalFactor": 1,
"legendFormat": "Writes",
"refId": "B"
}
],
"thresholds": [],
- "timeFrom": "36h",
+ "timeFrom": null,
"timeShift": null,
"title": "Read/Write Profile",
"tooltip": {
"shared": true,
- "sort": 0,
+ "sort": 2,
"value_type": "individual"
},
"type": "graph",
@@ -579,20 +815,13 @@
"min": null,
"show": true
}
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
+ ]
}
],
- "refresh": "30s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
- "tags": [
- "ceph",
- "osd"
- ],
+ "tags": [],
"templating": {
"list": [
{
@@ -671,6 +900,6 @@
},
"timezone": "",
"title": "Ceph OSD Overview",
- "version": 11
+ "version": 3
}
{%- endraw %}
diff --git a/ceph/files/grafana_dashboards/nautilus-pool-details_prometheus.json b/ceph/files/grafana_dashboards/nautilus-pool-details_prometheus.json
new file mode 100644
index 0000000..7a03e6f
--- /dev/null
+++ b/ceph/files/grafana_dashboards/nautilus-pool-details_prometheus.json
@@ -0,0 +1,691 @@
+{%- raw %}
+{
+ "__inputs": [],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.3.2"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "singlestat",
+ "name": "Singlestat",
+ "version": "5.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "prometheus",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": null,
+ "iteration": 1551858875941,
+ "links": [],
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": true,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": null,
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 7,
+ "x": 0,
+ "y": 0
+ },
+ "id": 12,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": true
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "(ceph_pool_stored / ceph_pool_max_avail) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": ".7,.8",
+ "title": "Capacity used",
+ "type": "singlestat",
+ "valueFontSize": "50%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": null,
+ "description": "Time till pool is full assuming the average fill rate of the last 6 hours",
+ "format": "s",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 7,
+ "y": 0
+ },
+ "id": 14,
+ "interval": null,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "maxDataPoints": 100,
+ "nullPointMode": "connected",
+ "nullText": null,
+ "postfix": "",
+ "postfixFontSize": "50%",
+ "prefix": "",
+ "prefixFontSize": "50%",
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "((ceph_pool_max_avail - ceph_pool_stored) / deriv(ceph_pool_stored[6h])) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Time till full",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "inf",
+ "value": "null"
+ },
+ {
+ "op": "=",
+ "text": "inf",
+ "value": "N/A"
+ }
+ ],
+ "valueName": "current"
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 10,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "deriv(ceph_pool_objects[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Objects per second",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Object In-/Egress",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "ops",
+ "label": "Objects out(-) / in(+) ",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "reads",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ceph_pool_rd[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "reads",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ceph_pool_wr[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "writes",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Client IOPS",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "iops",
+ "label": "Read (-) / Write (+)",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 7,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "reads",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ceph_pool_rd_bytes[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "reads",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ceph_pool_wr_bytes[$rate_interval]) * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "writes",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Client Throughput",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": "Read (-) / Write (+)",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {
+ "read_op_per_sec": "#3F6833",
+ "write_op_per_sec": "#E5AC0E"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 8,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "minSpan": 12,
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "ceph_pool_objects * on(pool_id) group_left(instance,name) ceph_pool_metadata{name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Number of Objects",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$pool_name Objects",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Objects",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "current": {},
+ "datasource": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "Pool Name",
+ "multi": false,
+ "name": "pool_name",
+ "options": [],
+ "query": "label_values(ceph_pool_metadata,name)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },{
+ "allValue": null,
+ "current": {
+ "text": "3m",
+ "value": "3m"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "rate_interval",
+ "multi": false,
+ "name": "rate_interval",
+ "options": [
+ {
+ "selected": false,
+ "text": "1m",
+ "value": "1m"
+ },
+ {
+ "selected": true,
+ "text": "3m",
+ "value": "3m"
+ },
+ {
+ "selected": false,
+ "text": "5m",
+ "value": "5m"
+ },
+ {
+ "selected": false,
+ "text": "10m",
+ "value": "10m"
+ },
+ {
+ "selected": false,
+ "text": "15m",
+ "value": "15m"
+ }
+ ],
+ "query": "1m,3m,5m,10m,15m",
+ "skipUrlSync": false,
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "15s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Ceph Pool Details",
+ "version": 1
+}
+{%- endraw %}
diff --git a/ceph/files/grafana_dashboards/nautilus-radosgw-detail_prometheus.json b/ceph/files/grafana_dashboards/nautilus-radosgw-detail_prometheus.json
index c536351..a72d154 100644
--- a/ceph/files/grafana_dashboards/nautilus-radosgw-detail_prometheus.json
+++ b/ceph/files/grafana_dashboards/nautilus-radosgw-detail_prometheus.json
@@ -1,5 +1,25 @@
{%- raw %}
{
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "grafana-piechart-panel",
+ "name": "Pie Chart",
+ "version": "1.4.0"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ }
+ ],
"annotations": {
"list": [
{
@@ -71,14 +91,14 @@
"steppedLine": false,
"targets": [
{
- "expr": "rate(ceph_rgw_get_initial_lat_sum{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]) / rate(ceph_rgw_get_initial_lat_count{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval])",
+ "expr": "sum by (ceph_daemon) (rate(ceph_rgw_get_initial_lat_sum{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]) / rate(ceph_rgw_get_initial_lat_count{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "GET {{ceph_daemon}}",
"refId": "A"
},
{
- "expr": "rate(ceph_rgw_put_initial_lat_sum{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]) / rate(ceph_rgw_put_initial_lat_count{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval])",
+ "expr": "sum by (ceph_daemon)(rate(ceph_rgw_put_initial_lat_sum{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]) / rate(ceph_rgw_put_initial_lat_count{ceph_daemon=~\"($rgw_servers)\"}[$rate_interval]))",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "PUT {{ceph_daemon}}",
@@ -327,9 +347,77 @@
"align": false,
"alignLevel": null
}
+ },
+ {
+ "aliasColors": {
+ "Failures": "#bf1b00",
+ "GETs": "#7eb26d",
+ "Other (HEAD,POST,DELETE)": "#447ebc",
+ "PUTs": "#eab839"
+ },
+ "breakPoint": "50%",
+ "cacheTimeout": null,
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": null,
+ "fontSize": "80%",
+ "format": "none",
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 23,
+ "interval": null,
+ "legend": {
+ "show": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "links": [],
+ "maxDataPoints": 3,
+ "nullPointMode": "connected",
+ "pieType": "pie",
+ "strokeWidth": 1,
+ "targets": [
+ {
+ "expr": "rate(ceph_rgw_failed_req{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Failures {{ceph_daemon}}",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ceph_rgw_get{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "GETs {{ceph_daemon}}",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ceph_rgw_put{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "PUTs {{ceph_daemon}}",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ceph_rgw_req{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval]) -\n (rate(ceph_rgw_get{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval]) +\n rate(ceph_rgw_put{ceph_daemon=~\"[[rgw_servers]]\"}[$rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Other (DELETE,LIST) {{ceph_daemon}}",
+ "refId": "D"
+ }
+ ],
+ "title": "Workload Breakdown",
+ "type": "grafana-piechart-panel",
+ "valueName": "current"
}
],
- "refresh": "15s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
"tags": [
diff --git a/ceph/files/grafana_dashboards/nautilus-radosgw-overview_prometheus.json b/ceph/files/grafana_dashboards/nautilus-radosgw-overview_prometheus.json
index 4a69c5c..3b685cd 100644
--- a/ceph/files/grafana_dashboards/nautilus-radosgw-overview_prometheus.json
+++ b/ceph/files/grafana_dashboards/nautilus-radosgw-overview_prometheus.json
@@ -1,5 +1,19 @@
{%- raw %}
{
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ }
+ ],
"annotations": {
"list": [
{
@@ -243,7 +257,7 @@
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
- "stack": false,
+ "stack": true,
"steppedLine": false,
"targets": [
{
@@ -559,7 +573,7 @@
}
}
],
- "refresh": "15s",
+ "refresh": "1m",
"schemaVersion": 16,
"style": "dark",
"tags": [
diff --git a/ceph/files/grafana_dashboards/nautilus-rbd-overview_prometheus.json b/ceph/files/grafana_dashboards/nautilus-rbd-overview_prometheus.json
new file mode 100644
index 0000000..0932a4b
--- /dev/null
+++ b/ceph/files/grafana_dashboards/nautilus-rbd-overview_prometheus.json
@@ -0,0 +1,713 @@
+{%- raw %}
+{
+ "__inputs": [],
+ "__requires": [
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "5.4.2"
+ },
+ {
+ "type": "panel",
+ "id": "graph",
+ "name": "Graph",
+ "version": "5.0.0"
+ },
+ {
+ "type": "datasource",
+ "id": "prometheus",
+ "name": "Prometheus",
+ "version": "5.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "table",
+ "name": "Table",
+ "version": "5.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "prometheus",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": null,
+ "iteration": 1547242766440,
+ "links": [],
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(ceph_rbd_write_ops[$rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Writes",
+ "refId": "A"
+ },
+ {
+ "expr": "round(sum(irate(ceph_rbd_read_ops[$rate_interval])))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Reads",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "IOPS",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 4,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(ceph_rbd_write_bytes[$rate_interval])))",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Write",
+ "refId": "A"
+ },
+ {
+ "expr": "round(sum(irate(ceph_rbd_read_bytes[$rate_interval])))",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Read",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Throughput",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": null,
+ "fill": 1,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "round(sum(irate(ceph_rbd_write_latency_sum[$rate_interval])) / sum(irate(ceph_rbd_write_latency_count[$rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Write",
+ "refId": "A"
+ },
+ {
+ "expr": "round(sum(irate(ceph_rbd_read_latency_sum[$rate_interval])) / sum(irate(ceph_rbd_read_latency_count[$rate_interval])))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Read",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": null,
+ "timeRegions": [],
+ "timeShift": null,
+ "title": "Average Latency",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "ns",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "columns": [],
+ "datasource": null,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 7
+ },
+ "hideTimeOverride": false,
+ "id": 12,
+ "links": [],
+ "pageSize": null,
+ "scroll": true,
+ "showHeader": true,
+ "sort": {
+ "col": 3,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "Pool",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "pool",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short",
+ "valueMaps": []
+ },
+ {
+ "alias": "Image",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "image",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "alias": "IOPS",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "Value",
+ "thresholds": [],
+ "type": "number",
+ "unit": "iops"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "topk(10, (sort((irate(ceph_rbd_write_ops[$rate_interval]) + on(image, pool, namespace) irate(ceph_rbd_read_ops[$rate_interval])))))",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Highest IOPS",
+ "transform": "table",
+ "type": "table"
+ },
+ {
+ "columns": [],
+ "datasource": null,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 7
+ },
+ "id": 10,
+ "links": [],
+ "pageSize": null,
+ "scroll": true,
+ "showHeader": true,
+ "sort": {
+ "col": 3,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "Pool",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "pool",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "alias": "Image",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "image",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "alias": "Throughput",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "Value",
+ "thresholds": [],
+ "type": "number",
+ "unit": "Bps"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "decimals": 2,
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "topk(10, sort(sum(irate(ceph_rbd_read_bytes[$rate_interval]) + irate(ceph_rbd_write_bytes[$rate_interval])) by (pool, image, namespace)))",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Highest Throughput",
+ "transform": "table",
+ "type": "table"
+ },
+ {
+ "columns": [],
+ "datasource": null,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 7
+ },
+ "id": 14,
+ "links": [],
+ "pageSize": null,
+ "scroll": true,
+ "showHeader": true,
+ "sort": {
+ "col": 3,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "Pool",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "pool",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "alias": "Image",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "image",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "alias": "Latency",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "Value",
+ "thresholds": [],
+ "type": "number",
+ "unit": "ns"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "topk(10,\n sum(\n irate(ceph_rbd_write_latency_sum[$rate_interval]) / clamp_min(irate(ceph_rbd_write_latency_count[$rate_interval]), 1) +\n irate(ceph_rbd_read_latency_sum[$rate_interval]) / clamp_min(irate(ceph_rbd_read_latency_count[$rate_interval]), 1)\n ) by (pool, image, namespace)\n)",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Highest Latency",
+ "transform": "table",
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 16,
+ "style": "dark",
+ "tags": [
+ "overview"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allValue": null,
+ "current": {
+ "text": "3m",
+ "value": "3m"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "rate_interval",
+ "multi": false,
+ "name": "rate_interval",
+ "options": [
+ {
+ "selected": false,
+ "text": "1m",
+ "value": "1m"
+ },
+ {
+ "selected": true,
+ "text": "3m",
+ "value": "3m"
+ },
+ {
+ "selected": false,
+ "text": "5m",
+ "value": "5m"
+ },
+ {
+ "selected": false,
+ "text": "10m",
+ "value": "10m"
+ },
+ {
+ "selected": false,
+ "text": "15m",
+ "value": "15m"
+ }
+ ],
+ "query": "1m,3m,5m,10m,15m",
+ "skipUrlSync": false,
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "15s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Ceph RBD Overview",
+ "version": 8
+}
+{%- endraw %}
\ No newline at end of file
diff --git a/ceph/meta/grafana.yml b/ceph/meta/grafana.yml
index dc70a5d..25bf726 100644
--- a/ceph/meta/grafana.yml
+++ b/ceph/meta/grafana.yml
@@ -28,10 +28,14 @@
datasource: prometheus
format: json
template: ceph/files/grafana_dashboards/{{ common.version }}-osds-detail_prometheus.json
- ceph_pools_prometheus:
+ ceph_pools_overview_prometheus:
datasource: prometheus
format: json
template: ceph/files/grafana_dashboards/{{ common.version }}-pool-overview_prometheus.json
+ ceph_pools_details_prometheus:
+ datasource: prometheus
+ format: json
+ template: ceph/files/grafana_dashboards/{{ common.version }}-pool-details_prometheus.json
ceph_hosts_overview_prometheus:
datasource: prometheus
format: json
@@ -44,5 +48,11 @@
datasource: prometheus
format: json
template: ceph/files/grafana_dashboards/{{ common.version }}-radosgw-detail_prometheus.json
+ {%- if common.version in ['nautilus']%}
+ ceph_rbd_overview_prometheus:
+ datasource: prometheus
+ format: json
+ template: ceph/files/grafana_dashboards/nautilus-rbd-overview_prometheus.json
+ {%- endif %}
{%- endif %}
{%- endif %}
diff --git a/ceph/mgr.sls b/ceph/mgr.sls
index f1b51b1..da450bb 100644
--- a/ceph/mgr.sls
+++ b/ceph/mgr.sls
@@ -1,4 +1,4 @@
-{%- from "ceph/map.jinja" import common, mgr with context %}
+{%- from "ceph/map.jinja" import common, mgr, setup with context %}
{%- if mgr.get('enabled', False) %}
@@ -125,6 +125,23 @@
- file: common_config
- file: /var/lib/ceph/mgr/{{ common.get('cluster_name', 'ceph') }}-{{ grains.host }}/
+{%- if common.version not in ['jewel','kraken','luminous'] and setup.pool is defined %}
+ {%- set rbd_pools=[] %}
+ {%- for pool_name, pool in setup.pool.iteritems() %}
+ {%- if pool.application == 'rbd' and pool.rbd_stats == true %}
+ {%- do rbd_pools.append(pool_name) %}
+ {%- endif %}
+ {%- endfor %}
+enable_rbd_metrics:
+ cmd.run:
+ - name: "ceph config set mgr mgr/prometheus/rbd_stats_pools {{ rbd_pools|join(',') }}"
+ - unless: "diff <( tr ',' '\n' <<< `ceph config-key get config/mgr/mgr/prometheus/rbd_stats_pools` | sort) <(tr ',' '\n' <<< {{rbd_pools|join(',')}} | sort)"
+ - require:
+ - cmd: ceph_mgr_wait_functional
+ - file: common_config
+ - file: /var/lib/ceph/mgr/{{ common.get('cluster_name', 'ceph') }}-{{ grains.host }}/
+{%- endif %}
+
{%- endif %}
{%- endif %}