mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-18 10:21:01 +03:00
e9527d44e6
A zpool_influxdb command is introduced to ease the collection of zpool statistics into the InfluxDB time-series database. Examples are given on how to integrate with the telegraf statistics aggregator, a companion to influxdb. Finally, a grafana dashboard template is included to show how pool latency distributions can be visualized in a ZFS + telegraf + influxdb + grafana environment. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Richard Elling <Richard.Elling@RichardElling.com> Closes #10786
1667 lines
38 KiB
JSON
1667 lines
38 KiB
JSON
{
|
|
"__inputs": [
|
|
{
|
|
"name": "DS_MACBOOK-INFLUX",
|
|
"label": "macbook-influx",
|
|
"description": "",
|
|
"type": "datasource",
|
|
"pluginId": "influxdb",
|
|
"pluginName": "InfluxDB"
|
|
}
|
|
],
|
|
"__requires": [
|
|
{
|
|
"type": "grafana",
|
|
"id": "grafana",
|
|
"name": "Grafana",
|
|
"version": "6.7.3"
|
|
},
|
|
{
|
|
"type": "panel",
|
|
"id": "heatmap",
|
|
"name": "Heatmap",
|
|
"version": ""
|
|
},
|
|
{
|
|
"type": "datasource",
|
|
"id": "influxdb",
|
|
"name": "InfluxDB",
|
|
"version": "1.0.0"
|
|
},
|
|
{
|
|
"type": "panel",
|
|
"id": "jdbranham-diagram-panel",
|
|
"name": "Diagram",
|
|
"version": "1.4.5"
|
|
},
|
|
{
|
|
"type": "panel",
|
|
"id": "text",
|
|
"name": "Text",
|
|
"version": ""
|
|
}
|
|
],
|
|
"annotations": {
|
|
"list": [
|
|
{
|
|
"$$hashKey": "object:1627",
|
|
"builtIn": 1,
|
|
"datasource": "-- Grafana --",
|
|
"enable": true,
|
|
"hide": true,
|
|
"iconColor": "rgba(0, 211, 255, 1)",
|
|
"name": "Annotations & Alerts",
|
|
"type": "dashboard"
|
|
}
|
|
]
|
|
},
|
|
"description": "Top-level ZFS pool latency by ZIO type",
|
|
"editable": true,
|
|
"gnetId": null,
|
|
"graphTooltip": 1,
|
|
"id": null,
|
|
"iteration": 1590445168391,
|
|
"links": [],
|
|
"panels": [
|
|
{
|
|
"collapsed": false,
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"id": 5,
|
|
"panels": [],
|
|
"title": "Total Reads and Writes",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the total reads of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 1
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 2,
|
|
"legend": {
|
|
"show": true
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"total_read"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Total Reads",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the total writes of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 1
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 3,
|
|
"legend": {
|
|
"show": true
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"total_write"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Total Writes",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 10
|
|
},
|
|
"id": 8,
|
|
"panels": [],
|
|
"title": "ZIO Scheduler Queues for Read Operations",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the synchronous reads of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 5,
|
|
"x": 0,
|
|
"y": 11
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 6,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"sync_read"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Sync Read Queue",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the asynchronous reads of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 5,
|
|
"x": 5,
|
|
"y": 11
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 9,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"async_read"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Async Read Queue",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the scrub or scan reads of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 5,
|
|
"x": 10,
|
|
"y": 11
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 10,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"scrub"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Scrub/Scan Read Queue",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the actual disk reads of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 9,
|
|
"x": 15,
|
|
"y": 11
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 11,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"disk_read"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Disk Read Queue",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 19
|
|
},
|
|
"id": 13,
|
|
"panels": [],
|
|
"title": "ZIO Scheduler Queues for Write Operations",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the synchronous writes of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 5,
|
|
"x": 0,
|
|
"y": 20
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 14,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"sync_write"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Sync Write Queue",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the asynchronous writes of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 5,
|
|
"x": 5,
|
|
"y": 20
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 15,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"async_write"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Async Write Queue",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the trim or unmap operations of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 5,
|
|
"x": 10,
|
|
"y": 20
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 16,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"trim"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Trim Write Queue",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"cards": {
|
|
"cardPadding": null,
|
|
"cardRound": null
|
|
},
|
|
"color": {
|
|
"cardColor": "#b4ff00",
|
|
"colorScale": "sqrt",
|
|
"colorScheme": "interpolateOranges",
|
|
"exponent": 0.5,
|
|
"mode": "spectrum"
|
|
},
|
|
"dataFormat": "tsbuckets",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"description": "Latency histogram for the disk write operations of a ZFS pool",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 9,
|
|
"x": 15,
|
|
"y": 20
|
|
},
|
|
"heatmap": {},
|
|
"hideZeroBuckets": false,
|
|
"highlightCards": true,
|
|
"id": 17,
|
|
"legend": {
|
|
"show": false
|
|
},
|
|
"reverseYBuckets": false,
|
|
"targets": [
|
|
{
|
|
"alias": "$tag_le",
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"le"
|
|
],
|
|
"type": "tag"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"measurement": "zpool_latency",
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"disk_write"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "last"
|
|
},
|
|
{
|
|
"params": [
|
|
"1s"
|
|
],
|
|
"type": "non_negative_derivative"
|
|
}
|
|
]
|
|
],
|
|
"tags": [
|
|
{
|
|
"key": "host",
|
|
"operator": "=~",
|
|
"value": "/^$hostname$/"
|
|
},
|
|
{
|
|
"condition": "AND",
|
|
"key": "name",
|
|
"operator": "=~",
|
|
"value": "/^$poolname$/"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Disk Write Queue",
|
|
"tooltip": {
|
|
"show": true,
|
|
"showHistogram": true
|
|
},
|
|
"type": "heatmap",
|
|
"xAxis": {
|
|
"show": true
|
|
},
|
|
"xBucketNumber": null,
|
|
"xBucketSize": null,
|
|
"yAxis": {
|
|
"decimals": 0,
|
|
"format": "s",
|
|
"logBase": 1,
|
|
"max": null,
|
|
"min": null,
|
|
"show": true,
|
|
"splitFactor": null
|
|
},
|
|
"yBucketBound": "auto",
|
|
"yBucketNumber": null,
|
|
"yBucketSize": null
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 28
|
|
},
|
|
"id": 19,
|
|
"panels": [],
|
|
"title": "About",
|
|
"type": "row"
|
|
},
|
|
{
|
|
"content": "I/O requests that are satisfied by accessing pool devices are managed by the ZIO scheduler.\nThe total latency is measured from the start of the I/O to completion by the disk.\nLatency through each queue is shown prior to its submission to the disk queue.\n\nThis view is useful for observing the effects of tuning the ZIO scheduler min and max values\n(see zfs-module-parameters(5) and [ZFS on Linux Module Parameters](https://openzfs.github.io/openzfs-docs/Performance%20and%20tuning/ZFS%20on%20Linux%20Module%20Parameters.html)):\n+ *zfs_vdev_max_active* controls the ZIO scheduler's disk queue depth (do not confuse with the block device's nr_requests)\n+ *zfs_vdev_sync_read_min_active* and *zfs_vdev_sync_read_max_active* control the synchronous queue for reads: most reads are sync\n+ *zfs_vdev_sync_write_min_active* and *zfs_vdev_sync_write_max_active* control the synchronous queue for writes: \nusually metadata or user data depending on the \"sync\" property setting or I/Os that are requested to be flushed\n+ *zfs_vdev_async_read_min_active* and *zfs_vdev_async_read_max_active* control the asynchronous queue for reads: usually prefetches\n+ *zfs_vdev_async_write_min_active* and *zfs_vdev_async_write_max_active* control the asynchronous queue for writes: \nusually the bulk of all writes at transaction group (txg) commit\n+ *zfs_vdev_scrub_min_active* and *zfs_vdev_scrub_max_active* controls the scan reads: usually scrub or resilver\n\n",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"gridPos": {
|
|
"h": 15,
|
|
"w": 16,
|
|
"x": 0,
|
|
"y": 29
|
|
},
|
|
"id": 21,
|
|
"mode": "markdown",
|
|
"targets": [
|
|
{
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"value"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "mean"
|
|
}
|
|
]
|
|
],
|
|
"tags": []
|
|
}
|
|
],
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "About ZFS Pool All Queues Read/Write Latency Histograms",
|
|
"type": "text"
|
|
},
|
|
{
|
|
"colors": [
|
|
"rgba(50, 172, 45, 0.97)",
|
|
"rgba(237, 129, 40, 0.89)",
|
|
"rgba(245, 54, 54, 0.9)"
|
|
],
|
|
"composites": [],
|
|
"content": "graph LR\nIO((I/O request)) --> SR(sync read queue)\nIO --> SW(sync write queue)\nIO --> AR(async read queue)\nIO --> AW(async write queue)\nIO --> SCRUB(scrub queue)\nIO --> TRIM(trim queue)\nSR --> DISKQ(disk queue)\nSW --> DISKQ\nAR --> DISKQ\nAW --> DISKQ\nSCRUB --> DISKQ\nTRIM --> DISKQ\nDISKQ --> DISK((disk))\n",
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"decimals": 2,
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {}
|
|
},
|
|
"overrides": []
|
|
},
|
|
"format": "none",
|
|
"graphId": "diagram_23",
|
|
"gridPos": {
|
|
"h": 15,
|
|
"w": 7,
|
|
"x": 16,
|
|
"y": 29
|
|
},
|
|
"id": 23,
|
|
"init": {
|
|
"arrowMarkerAbsolute": true,
|
|
"cloneCssStyles": true,
|
|
"flowchart": {
|
|
"htmlLabels": true,
|
|
"useMaxWidth": true
|
|
},
|
|
"gantt": {
|
|
"barGap": 4,
|
|
"barHeight": 20,
|
|
"fontFamily": "\"Open-Sans\", \"sans-serif\"",
|
|
"fontSize": 11,
|
|
"gridLineStartPadding": 35,
|
|
"leftPadding": 75,
|
|
"numberSectionStyles": 3,
|
|
"titleTopMargin": 25,
|
|
"topPadding": 50
|
|
},
|
|
"logLevel": 3,
|
|
"securityLevel": "loose",
|
|
"sequence": {
|
|
"actorMargin": 50,
|
|
"bottomMarginAdj": 1,
|
|
"boxMargin": 10,
|
|
"boxTextMargin": 5,
|
|
"diagramMarginX": 50,
|
|
"diagramMarginY": 10,
|
|
"height": 65,
|
|
"messageMargin": 35,
|
|
"mirrorActors": true,
|
|
"noteMargin": 10,
|
|
"useMaxWidth": true,
|
|
"width": 150
|
|
},
|
|
"startOnLoad": false,
|
|
"theme": "dark"
|
|
},
|
|
"legend": {
|
|
"avg": true,
|
|
"current": true,
|
|
"gradient": {
|
|
"enabled": true,
|
|
"show": true
|
|
},
|
|
"max": true,
|
|
"min": true,
|
|
"show": false,
|
|
"total": true
|
|
},
|
|
"mappingType": 1,
|
|
"mappingTypes": [
|
|
{
|
|
"$$hashKey": "object:155",
|
|
"name": "value to text",
|
|
"value": 1
|
|
},
|
|
{
|
|
"$$hashKey": "object:156",
|
|
"name": "range to text",
|
|
"value": 2
|
|
}
|
|
],
|
|
"maxDataPoints": 100,
|
|
"maxWidth": false,
|
|
"mermaidServiceUrl": "",
|
|
"metricCharacterReplacements": [],
|
|
"moddedSeriesVal": 0,
|
|
"mode": "content",
|
|
"nullPointMode": "connected",
|
|
"seriesOverrides": [],
|
|
"style": "",
|
|
"styleValues": {},
|
|
"targets": [
|
|
{
|
|
"groupBy": [
|
|
{
|
|
"params": [
|
|
"$__interval"
|
|
],
|
|
"type": "time"
|
|
},
|
|
{
|
|
"params": [
|
|
"null"
|
|
],
|
|
"type": "fill"
|
|
}
|
|
],
|
|
"hide": true,
|
|
"orderByTime": "ASC",
|
|
"policy": "default",
|
|
"refId": "A",
|
|
"resultFormat": "time_series",
|
|
"select": [
|
|
[
|
|
{
|
|
"params": [
|
|
"value"
|
|
],
|
|
"type": "field"
|
|
},
|
|
{
|
|
"params": [],
|
|
"type": "mean"
|
|
}
|
|
]
|
|
],
|
|
"tags": []
|
|
}
|
|
],
|
|
"themes": [
|
|
"default",
|
|
"dark",
|
|
"forest",
|
|
"neutral"
|
|
],
|
|
"thresholds": "0,10",
|
|
"timeFrom": null,
|
|
"timeShift": null,
|
|
"title": "Panel Title",
|
|
"type": "jdbranham-diagram-panel",
|
|
"valueMaps": [
|
|
{
|
|
"$$hashKey": "object:151",
|
|
"op": "=",
|
|
"text": "N/A",
|
|
"value": "null"
|
|
}
|
|
],
|
|
"valueName": "avg",
|
|
"valueOptions": [
|
|
"avg",
|
|
"min",
|
|
"max",
|
|
"total",
|
|
"current"
|
|
]
|
|
}
|
|
],
|
|
"refresh": false,
|
|
"schemaVersion": 22,
|
|
"style": "dark",
|
|
"tags": [
|
|
"ZFS",
|
|
"Latency",
|
|
"Histogram"
|
|
],
|
|
"templating": {
|
|
"list": [
|
|
{
|
|
"allValue": null,
|
|
"current": {},
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"definition": "show tag values from \"zpool_latency\" with key = \"host\"",
|
|
"hide": 0,
|
|
"includeAll": false,
|
|
"index": -1,
|
|
"label": null,
|
|
"multi": false,
|
|
"name": "hostname",
|
|
"options": [],
|
|
"query": "show tag values from \"zpool_latency\" with key = \"host\"",
|
|
"refresh": 1,
|
|
"regex": "/([-a-zA-Z-0-9]+)/",
|
|
"skipUrlSync": false,
|
|
"sort": 5,
|
|
"tagValuesQuery": "",
|
|
"tags": [],
|
|
"tagsQuery": "",
|
|
"type": "query",
|
|
"useTags": false
|
|
},
|
|
{
|
|
"allValue": null,
|
|
"current": {},
|
|
"datasource": "${DS_MACBOOK-INFLUX}",
|
|
"definition": "show tag values from \"zpool_latency\" with key = \"name\" where \"host\" =~ /^$hostname/",
|
|
"hide": 0,
|
|
"includeAll": false,
|
|
"index": -1,
|
|
"label": null,
|
|
"multi": false,
|
|
"name": "poolname",
|
|
"options": [],
|
|
"query": "show tag values from \"zpool_latency\" with key = \"name\" where \"host\" =~ /^$hostname/",
|
|
"refresh": 1,
|
|
"regex": "",
|
|
"skipUrlSync": false,
|
|
"sort": 5,
|
|
"tagValuesQuery": "",
|
|
"tags": [],
|
|
"tagsQuery": "",
|
|
"type": "query",
|
|
"useTags": false
|
|
}
|
|
]
|
|
},
|
|
"time": {
|
|
"from": "2020-05-25T21:34:30.137Z",
|
|
"to": "2020-05-25T21:39:54.445Z"
|
|
},
|
|
"timepicker": {
|
|
"refresh_intervals": [
|
|
"10s",
|
|
"30s",
|
|
"1m",
|
|
"5m",
|
|
"15m",
|
|
"30m",
|
|
"1h",
|
|
"2h",
|
|
"1d"
|
|
]
|
|
},
|
|
"timezone": "",
|
|
"title": "ZFS Pool Latency Heatmaps Influxdb",
|
|
"uid": "TbB4-DkGz",
|
|
"variables": {
|
|
"list": []
|
|
},
|
|
"version": 2
|
|
} |